从 webpack-cli 中获取错误:webpack 配置中的“TypeError:merge is not a function”

IT技术 reactjs webpack webpack-4 webpack-cli webpack-merge
2021-05-07 10:42:43

我正在使用 webpack-merge 将两个 webpack.config 文件组合在一起,但我不断收到错误“TypeError:merge is not a function when I run the command”webpack --config ./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
 
})
2个回答

您的导入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",
  },