Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分解结构扩展导入ES6_Javascript_Module_Ecmascript 6_Ecmascript Next - Fatal编程技术网

Javascript 分解结构扩展导入ES6

Javascript 分解结构扩展导入ES6,javascript,module,ecmascript-6,ecmascript-next,Javascript,Module,Ecmascript 6,Ecmascript Next,似乎是在抛出一个脱毛错误。有什么原因不能在ES6导入语句上“扩展”吗?ES6导入语法不是解构,就这么简单。语法以{开头,但其格式完全不同,在实现中处理它的方式也完全不同 import {Component, ...actions} from '../MyModule'; 这显然不是一个对象文字 如果您需要一个可用于将导入引用为属性的对象,可以这样做 import {Component as MyComponent} from './MyModule'; 然后使用MyModule.。如果您的

似乎是在抛出一个脱毛错误。有什么原因不能在ES6导入语句上“扩展”吗?

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

import {Component, ...actions} from '../MyModule';
这显然不是一个对象文字

如果您需要一个可用于将导入引用为属性的对象,可以这样做

 import {Component as MyComponent} from './MyModule';
然后使用
MyModule.
。如果您的目标是获得一个包含所有导出值的对象,不包括
组件
,那么您总是可以在之后进行分解,例如

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

您希望分解做什么?给您所有其他导出减去
组件
?看看规范:NamedImports的表示法可能看起来像对象表示法,但它是不同的(这就是为什么没有分解的原因)。如果MyModule导出对象,则可以在赋值中进行分解。这主要是因为spread运算符不是ES6的一部分,而是针对某个未来版本的建议。
 const {Component, ...actions} = MyModule;