标签: webpack-merge

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

我正在使用 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
 
})
Run Code Online (Sandbox Code Playgroud)

reactjs webpack webpack-4 webpack-cli webpack-merge

36
推荐指数
1
解决办法
2万
查看次数

使用 webpack-merge 将加载器添加到规则“use”数组中

我使用webpack-merge来合并开发和生产环境的 webpack 配置文件。为了在生产模式下提取 CSS,我使用mini-css-extract-plugin。根据其文档,我使用它代替style-loader仅在开发期间使用的 。此时,我的 CSS 块的 webpack 配置如下所示:

// webpack.common.js
{
  test: /\.(sa|sc|c)ss$/,
  use: [
    process.env.NODE_ENV === `production` ? MiniCssExtractPlugin.loader : `style-loader`,
    `css-loader`,
    `postcss-loader`,
    `sass-loader`
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是可行的,但由于我正在使用webpack-merge,我想在我的公共配置文件中避免这种逻辑。现在,我尝试像这样将其拆分并合并webpack-merge各种加载器:

// webpack.common.js
{
  test: /\.(sa|sc|c)ss$/,
  use: [
    `css-loader`,
    `postcss-loader`,
    `sass-loader`
  ]
}

// webpack.dev.js
{
  test: /\.(sa|sc|c)ss$/,
  use: [
    `style-loader`,
    // webpack-merge should prepend all loaders from `webpack.common.js`
  ]
}

// webpack.prod.js
{
  test: /\.(sa|sc|c)ss$/,
  use: [
    MiniCssExtractPlugin.loader,
    // webpack-merge should …
Run Code Online (Sandbox Code Playgroud)

javascript css webpack webpack-merge

8
推荐指数
2
解决办法
6052
查看次数