[webpack-cli] Failed to load 'D:\0_Code\4_SourceCode\deepctrls-deepsight-vue\config\webpack\webpack.dev.js' config [webpack-cli] Error [ERR_REQUIRE_ESM]: require() of ES Module D:\0_Code\4_SourceCode\deepctrls-deepsight-vue\node_modules\.pnpm\[email protected]\node_modules\nanoid\index.js from D:\0_Code\4_SourceCode\deepctrls-deepsight-vue\config\webpack\webpack.dev.js not supported. Instead change the require of index.js in D:\0_Code\4_SourceCode\deepctrls-deepsight-vue\config\webpack\webpack.dev.js to a dynamic import() which is available in all CommonJS modules. at Object.<anonymous> (D:\0_Code\4_SourceCode\deepctrls-deepsight-vue\config\webpack\webpack.dev.js:10:20) { code: 'ERR_REQUIRE_ESM' } ELIFECYCLE Command failed with exit code 2.
时间: 2025-09-04 10:11:31 AIGC 浏览: 16
虽然提供的引用内容未直接涉及解决 `webpack-cli` 加载 `webpack.dev.js` 配置文件时出现的 `ERR_REQUIRE_ESM` 错误,但可以从原理上给出一些解决思路。
`ERR_REQUIRE_ESM` 错误通常是因为使用 `require()` 去引入一个 ES 模块,而 Node.js 中 `require()` 主要用于 CommonJS 模块。解决此问题有以下几种方式:
#### 1. 将文件扩展名改为 `.mjs`
如果 `webpack.dev.js` 是一个 ES 模块,可以将其扩展名改为 `.mjs`,并且确保你的 Node.js 支持 ES 模块。在 `package.json` 中,可以添加 `"type": "module"` 来指示整个项目使用 ES 模块。示例如下:
```json
{
"name": "your-project",
"type": "module",
"scripts": {
"dev": "webpack --config webpack.dev.mjs"
}
}
```
#### 2. 使用动态导入 `import()`
如果想继续使用 `.js` 文件扩展名,可以在需要引入 ES 模块的地方使用动态导入 `import()` 代替 `require()`。例如,在 `webpack-cli` 相关的代码中(可能是一个自定义脚本):
```javascript
// 假设在一个脚本中需要引入 webpack.dev.js
import('./webpack.dev.js').then((config) => {
// 使用 config 进行后续操作
console.log(config);
}).catch((error) => {
console.error('Error importing config:', error);
});
```
#### 3. 将 ES 模块转换为 CommonJS 模块
可以使用工具(如 Babel)将 ES 模块转换为 CommonJS 模块。首先安装 Babel 相关依赖:
```bash
npm install --save-dev @babel/core @babel/cli @babel/preset-env
```
然后在项目根目录创建 `.babelrc` 文件:
```json
{
"presets": ["@babel/preset-env"]
}
```
接着使用 Babel 转换 `webpack.dev.js` 文件:
```bash
npx babel webpack.dev.js --out-file webpack.dev.cjs
```
最后在 `package.json` 中配置使用转换后的文件:
```json
{
"scripts": {
"dev": "webpack --config webpack.dev.cjs"
}
}
```
阅读全文
相关推荐







