我正在构建一个Webpack应用程序,并且我有兴趣在整个应用程序中使用ESM,这意味着使用ESM导入来构建webpack.config文件。
我现在可以使用Babel,但这是在npm添加word.toLower().match(mtc)
之前支持现在不带babel的ESM导入...我已经在Express上尝试过,并且可以使用Webpack,但我得到了: >
"type": "module"
所以我想知道是否有一个使用> ...proyectDirectory/node_modules/webpack-cli/bin/cli.js:93
> require() of ES modules is not supported.
而不是import
的webpack-cli版本
答案 0 :(得分:1)
至少更新到 webpack-cli 4.5.0。刚刚添加了对原生 ESM 配置文件的支持:https://github.com/webpack/webpack-cli/releases/tag/webpack-cli%404.5.0
这意味着如果您在 package.json 中包含 webpack.config.js
的目录中使用 {"type": "module"}
,它将起作用。
如果您简单地将文件命名为 webpack.config.mjs
答案 1 :(得分:0)
Webpack CLI需要一个commonJS文件。可以使用.mjs
标志启用对experiments.mjs
文件的实验性支持,但是似乎存在许多问题。因此,您可以通过不使用任何配置或使用.cjs
的配置来使用webpack:
./node_modules/.bin/webpack-cli --config webpack.config.cjs
还请记住,截至目前,诸如Jest之类的功能不适用于esm,因此,如果不需要babel / esm,则需要使用另一个测试套件。