从 webpack-cli 获取错误:"类型错误:合并不是一个函数" 在 webpack config 中



我正在使用webpack merge将两个webpack.config文件组合在一起,但我一直收到错误"TypeError:当我运行命令"时,merge不是一个函数;webpack--配置/config/webpack.config.prod.js";

其他人遇到过这个问题吗?

webpack.config.prod.js

const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent');
const TerserPlugin = require('terser-webpack-plugin');
const commonConfig= require('./webpack.config.common');
const merge = require('webpack-merge');
module.exports = merge(commonConfig, {
//config code

})

您导入merge不正确。这样试试:

const { merge } = require('webpack-merge');

UPD:基于以下更改日志,从webpack-merge5.0.3及更高版本开始,您应该使用我上面提供的代码。如果版本低于5.0.3,则需要使用:

const merge = require('webpack-merge');

您也可以使用cmd执行此操作。

webpack -m -c ./webpack.config.js -c ./webpack.dev.js

或者你可以在package.json中创建一个脚本来更快地使用

"scripts": {
"build:dev": "webpack -m -c ./webpack.config.js -c 
./webpack.dev.js",
},

最新更新