之间的区别:“导出{某物}”与“导出某物”

时间:2018-07-23 18:25:52

标签: node.js

执行以下操作有什么区别?

import something from "../something";
export { something };

vs

import something from "../something";
export something;

在react的react-is包中,有一个导出执行相同的操作。我想知道那是什么意思。

这是执行此操作的代码行。 https://github.com/facebook/react/blob/master/packages/react-is/src/ReactIs.js#L69

1 个答案:

答案 0 :(得分:1)

只有第一个片段正确。它从../something导入默认导出,并将其导出为something从当前模块命名为export。

ES模块export has limited syntax variationsimport也是如此。如果该语法未在参考文献中列出,则不支持。

export something;

无效,将导致语法错误。 somethingexport something中的一个表达式。根据参考,只有export default可以使用表达式。

命名出口应包含声明:

export let something = ...;

或者如果something在当前作用域中已经存在,例如在这种情况下,应使用花括号:

export { something };

如果something在当前模块中除重新导出外没有用于其他任何用途,则为

import something from "../something";
export { something };

export { default as something } from "../something";