karma-runner - 每次导入时执行的 ES6 模块代码

标签 karma-runner ecmascript-6 webpack

每次我们导入一个模块时,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/

相关文章:

angular - Phantomjs 在 Jenkins 上崩溃 : Auto configuration failed

javascript - 为什么我在行驶路线时收不到数据?

vue.js - 构建新的 Vue CLI 3 项目时,如何修复 terser-webpack-plugin 中的 'TypeError: Cannot read property ' minify' of undefined'?

webpack - 如何在 Webpack 构建期间评估 Node 脚本并使其内容可用于编译后的代码?

jasmine - 如何找到 Karma 正在跳过哪个测试?

javascript - 如何检查方法是否已被调用 Jasmine 单元测试

Angular 7 : ng test hangs , 不断重复运行测试

javascript - 导入默认导出和命名导出是否会加载模块两次?

angular - 从深度嵌套的目录结构中导入模块

reactjs - Create React App 生产构建成功但生成的代码有错误