This question already has answers here:
`export const` vs. `export default` in ES6

(6个答案)


4年前关闭。




这些导入方法之间有什么区别?

方法1:
import {sum, pi} from "lib/math";

方法2:
import exp, {pi, e} from "lib/mathplusplus";

es2015文档显示了这两个示例,但我不知道花括号的用途。导入后列出的所有内容似乎都将被分配给window对象。

引用文件:https://babeljs.io/docs/learn-es2015/

最佳答案

模块可以导出多个东西。模块也可以有一个“默认”导出。
import exp from "somelib";
这会将somelib的默认导出分配给变量exp
import {a, b} from "somelib";
这会将非默认的命名导出ab分配给局部变量ab
import exp, {a, b} from "somelib";
将默认导出分配给exp,并将命名的导出分配给ab
import * as somelib from "somelib";
获取somelib的所有命名导出并将它们作为对象分配给局部变量somelib,这意味着您将拥有somelib.asomelib.b等。

这是该主题的一个很好的资源:http://www.2ality.com/2014/09/es6-modules-final.html

关于javascript - 这些ES6导入方法有什么区别? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34162392/

10-08 20:32