45

我正在使用 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
 
})
4

2 回答 2

114

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

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

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

const merge = require('webpack-merge');
于 2020-07-11T07:22:21.653 回答
1

您也可以使用 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",
  },
于 2021-03-13T09:12:26.210 回答