Destructure扩展导入ES6

时间:2016-03-08 08:22:41

标签: javascript module ecmascript-6 ecmascript-next

import {Component, ...actions} from '../MyModule';

似乎是在抛出一个linting错误。您是否有理由不能在ES6导入声明中“传播”?

1 个答案:

答案 0 :(得分:18)

ES6导入语法不是解构,就这么简单。语法以{开头,但其格式完全不同,并且在实现中处理它的方式完全不同。例如,您可以使用

重命名导入
 import {Component as MyComponent} from './MyModule';

显然不是对象文字。

如果您需要一个可用于引用导入作为属性的对象,则可以执行

 import * as MyModule from '../MyModule';

然后使用MyModule.<exportName>。如果你的目标是专门获取一个包含所有导出值的对象,不包括Component,那么你可以随后进行解构,例如。

 const {Component, ...actions} = MyModule;