首页 > 解决方案 > 将 webpack 和 mocha 与 ES6 模块一起使用

问题描述

我有一个前端 JS 项目。我想使用Mocha进行测试,使用webpack进行捆绑。我在我的项目中使用ES6 模块。

Mocha 需要将type我的包设置module为如here所述。虽然 webpack 在这种情况下失败了

[webpack-cli] Failed to load 'webpack.config.js'
[webpack-cli] TypeError: Invalid host defined options
...

如何在 ES6 项目中使用 mocha 和 webpack?

标签: webpackecmascript-6mocha.js

解决方案


TL;博士

重命名webpack.config.jswebpack.config.cjs


问题是 webpack不支持 ES6 配置文件。这意味着当您将type包的 设置为module webpack.config.js解释为 ES6 模块时,尚不支持。

解决方案/解决方法:

  1. type包的设置module并重命名webpack.config.jswebpack.config.cjs整个项目将被解释为 ES6 模块的结果,除了webpack.config.cjs它仍然是一个commonjs文件。

  2. 保留type一个包commonjs并将所有文件重命名为mjs(除了webpack.config.js

  3. 使用不同的捆绑器,例如汇总。


推荐阅读