每次我们导入一个模块时,ES6 模块中的代码都会执行吗?我正在使用 webpack,它似乎正是这样做的。
// FormStore.js
import sessionActions from "../../session/actions/session";
// session.spec.js
import sessionActions from "../../../src/session/actions/session";
This causes the code in the session module to be executed twice
最佳答案
我不知道确切的答案,但我怀疑它与 karma 有关。我认为这是由于有两个不同的捆绑包。
在 karma.config
preprocessors: {
"client/specs/index.ts": ["webpack"],
"client/specs/**/*spec.ts": ["webpack"]
},
webpack: {
entry: {
index: "./client/src/index.tsx",
vendor: []
}
},
基本上,我真的不需要添加
index
入口点,因为这可能会创建一个额外的包。
关于karma-runner - 每次导入时执行的 ES6 模块代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32502017/