Lon*_*ike 11 node.js webpack es6-modules
我正在使用节点 13.4.0。带有 es 模块(通过 .mjs 扩展)。
使用 webpack 配置文件作为 es 模块崩溃:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /path-to-config-dir/webpack.config.mjs
Run Code Online (Sandbox Code Playgroud)
最简单的 es 模块webpack.config.mjs:
export default {};
Run Code Online (Sandbox Code Playgroud)
webpack 是否支持配置文件的 es-modules?我找不到关于该主题的大量信息。我发现了这个(一个问题已于 2019 年 6 月关闭):
https://github.com/webpack/webpack/pull/9226
所以我想知道关于 mjs 的 webpack 配置文件的状态。任何人都可以指点我一些关于这方面的文件吗?
我正在使用 Node v14.16.0 和 Webpack 5.37.0。尽管没有记录,但webpack.config.mjs似乎会自动拾取名为的配置文件,并将其解释为模块。
但有一些注意事项:
import { Something } from 'webpack'不起作用。使用这个代替:
import webpack from 'webpack'
const { Something } = webpack
Run Code Online (Sandbox Code Playgroud)
__dirname经常在 Webpack 配置中使用,但在模块中不可用。要将其带回来:
import path from 'path'
const __dirname = path.dirname(new URL(import.meta.url).pathname)
Run Code Online (Sandbox Code Playgroud)