相关疑难解决方法(0)

在ES6的`import`语法中,如何精确评估模块?

比方说,我们有四个模块A,B,CD

在模块中A:

console.log("A evaluated")
function AClass {
  console.log("A constructor")
}
var aObj = new AClass()
export default aObj;
Run Code Online (Sandbox Code Playgroud)

在模块中B:

import aObj from A
export default "B"
Run Code Online (Sandbox Code Playgroud)

在模块中C:

import aObj from A
export default "C"
Run Code Online (Sandbox Code Playgroud)

在模块中D:

import b from B
import c from C
import aObj from A
Run Code Online (Sandbox Code Playgroud)

因此,当模块D进行评估,多少次将A evaluatedA constructor被打印到控制台上?

这种行为是否在ES6标准中描述?如果我想要仅对一个模块进行评估,无论直接或间接导入多少次,我该怎么办?有没有人对此有任何想法?

javascript commonjs node.js ecmascript-6 webpack

24
推荐指数
1
解决办法
2419
查看次数

默认导出类的新实例

下面的代码片段每次导入时都会生成新实例吗?

// 1st implementation

class ConnectionManager {
...
}

export default new ConnectionManager();
Run Code Online (Sandbox Code Playgroud)
// 2nd implementation

class ConnectionManager {
...
}

const connectionManager = new ConnectionManager();
export default connectionManager;
Run Code Online (Sandbox Code Playgroud)

如果是,如何在每次导入中获得相同的实例?

javascript es6-modules

5
推荐指数
3
解决办法
4313
查看次数