在ES6的`import`语法中,一个模块是如何被准确地评估的?
- 论坛
- 在ES6的`import`语法中,一个模块是如何被准确地评估的?
17 浏览
在ES6的`import`语法中,一个模块是如何被准确地评估的?
假设我们有四个模块,A
、B
、C
和D
。
在模块A
中:
console.log("A被评估") function AClass { console.log("A构造函数") } var aObj = new AClass() export default aObj;
在模块B
中:
import aObj from A export default "B"
在模块C
中:
import aObj from A export default "C"
在模块D
中:
import b from B import c from C import aObj from A
那么当模块D
被评估时,在控制台上会打印出多少次A被评估
和A构造函数
?
这种行为是否在ES6标准中有描述?如果我希望一个模块只被评估一次,不管被直接或间接地导入多少次,我应该怎么做?有人对此有什么想法吗?