webpack-merge 合并不是一个函数

Posted

技术标签:

【中文标题】webpack-merge 合并不是一个函数【英文标题】:webpack-merge merge is not a function 【发布时间】:2020-11-01 05:41:11 【问题描述】:

我试图在 shopify 主题中添加反应。于是手动配置了react、webpack、babel。 Webpack.dev.js

const merge  = require('webpack-merge');
const common = require("./webpack.common.js")

module.exports = merge(common, 
  mode: "development",
  devtool: "inline-source-map",
  watch: true
)

但是我得到了错误,合并不是一个函数。 提前致谢。

【问题讨论】:

【参考方案1】:

从webpack-merge 的第 5 版开始,合并函数现在被命名为导出而不是默认导出。

第 5 版之前

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

从第 5 版开始

const merge = require('webpack-merge').merge;
// or       
const  merge  = require('webpack-merge');

如果您使用的是 ES 模块,那么您应该这样做:

import  merge  from "webpack-merge"

【讨论】:

【参考方案2】:

您还可以通过如下重命名来利用合并:

const  merge: webpackMerge  = require("webpack-merge");

这样你仍然使用同名的旧api包!

【讨论】:

【参考方案3】:

我使用 ES6 webpack 配置,所以我使用 webpack-merge@4.2.1 ...

import merge from "webpack-merge"

【讨论】:

【参考方案4】:

在新版本的webpack-merge,中导入如下。

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

【讨论】:

以上是关于webpack-merge 合并不是一个函数的主要内容,如果未能解决你的问题,请参考以下文章

webpack-merge

升级webpack4 webpack-merge会出现问题

webpack.dev.conf.js

入坑webpack

webpack自定义配置的方法及webpack-merge优化

基于webpack的React项目搭建