import {module}和import module之间的区别

时间:2017-10-07 09:03:31

标签: javascript ecmascript-6

我已经看到以下两种变体用于从ES6中的另一个模块导入代码:

import {module}  from "./Module"

import module from "./Module"

其中module是文件

中定义的ES6类
  

Module.js

两个import语句之间有什么区别?

2 个答案:

答案 0 :(得分:5)

区别在于它的导出方式。

export default const myModule = {}

基本上它说“这是默认出口”。您可以使用

导入它
import myModule from 'module'

另一种方式是可以像这样导出多个入口点:

export const myModule1 = {}
export const myModule2 = {}

您可以使用

导入这些内容
import {myModule1, myModule2} from 'module'

如果导出默认入口点和命名入口点,则可以执行以下操作:

import myModule, {myModule1, myModule2} from 'module'

这似乎不完全合乎逻辑,通常包工作者应该解释如何导入他们的模块。如果您是作者,这将有助于您

答案 1 :(得分:1)

在第一种情况下

import {module}  from "./Module"

您正在从模块导入单个导出并在当前范围中插入“模块”。在Module.js文件中,您必须命名为exports:

export { module, module2 }; 

请注意,有两个已命名的导出,但您只导入一个。

在第二个示例中,您要导入默认导出:

import module from "./Module"

并在您的Module.js文件中导出如下所示:

导出默认模块3;

请注意,您可以使用其他名称导入默认值。