【问题标题】:is it possible to destrucure my import statements是否可以破坏我的导入语句
【发布时间】:2019-03-06 11:02:46
【问题描述】:

我想在导入下面写一行。有可能吗?

 `import SellerAdaptor from '../adaptors/sellers';
  import UserAdaptor from '../adaptors/user';
  import ShopEarnAdaptor from '../adaptors/shop_earn';
  import ProductAdaptor from '../adaptors/product';
  import JobAdaptor from '../adaptors/job';
  import OrderAdaptor from '../adaptors/order';
  import NotificationAdaptor from '../adaptors/notification';
  import CategoryAdaptor from '../adaptors/category';
  import AdminAdaptor from '../adaptors/adminAdaptor';`

【问题讨论】:

  • 你为什么这样做?多行导入有什么问题?
  • 去掉换行符,就只有一行了....
  • 反引号 (`) 是否属于您的代码?
  • 不,你不能,但如果你需要,你可以为所有导入创建一个类似工厂的模块,检查这个stackoverflow.com/questions/34648195/…
  • 由于所有这些模块都位于adaptors 下,您不妨创建一个index.js 文件并将所有导出文件放在那里。鉴于此,所有消费者都会import { ... } from '../adaptors'

标签: javascript node.js ecmascript-6


【解决方案1】:

没有。

解构可以让你从一个模块中导入许多值。

您不能一次导入多个模块。


这里的典型模式是有一个../adaptors/index,它导入所有模块然后导出它们:

import SellerAdaptor from './sellers';
import UserAdaptor from './user';
// etc
export { SellerAdaptor, UserAdaptor, etc };

那么你就可以:

import { SellerAdaptor, UserAdaptor, etc } from "../adaptors/index";

【讨论】:

  • 更好的写法是export { default as SellerAdaptor } from './sellers'
【解决方案2】:

为了能够写出import { A, B, C } from 'myPackage',这取决于myPackage 以及它是如何写的。

如果它们是不同的文件,则不能这样做。 如果你有一个 adaptors 文件 export 不同的模块,你可以用解构来编写你的导入。

【讨论】:

    【解决方案3】:

    你可以这样做:

    import SellerAdaptor from '../adaptors/sellers';
    import UserAdaptor from '../adaptors/user';
    import ShopEarnAdaptor from '../adaptors/shop_earn';
    import ProductAdaptor from '../adaptors/product';
    import JobAdaptor from '../adaptors/job';
    import OrderAdaptor from '../adaptors/order';
    import NotificationAdaptor from '../adaptors/notification';
    import CategoryAdaptor from '../adaptors/category';
    import AdminAdaptor from '../adaptors/adminAdaptor';
    
    
    export {
        SellerAdaptor,
        UserAdaptor,
        ShopEarnAdaptor,
        ProductAdaptor,
        JobAdaptor,
        OrderAdaptor,
        NotificationAdaptor,
        CategoryAdaptor,
        AdminAdaptor
    }
    

    然后你可以像下面这样导入

    import { SellerAdaptor, UserAdaptor} from './<filename>'
    

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 1970-01-01
      • 2011-08-18
      • 2017-07-05
      • 2016-01-18
      • 2017-01-03
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多