webpack-merge合并不是一个函数

39

我一直在尝试将React添加到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
})

但我遇到了错误,merge不是一个函数。 提前致谢。

5个回答

102
在新版本的 webpack-merge 中,它被如下导入。
const { merge } = require('webpack-merge');

13

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

5版之前:

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

从第五个版本开始

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

如果你正在使用 ES 模块,则应该这样做:

import { merge } from "webpack-merge"

4

我使用一个ES6的webpack配置,因此我使用了webpack-merge@4.2.1...

import merge from "webpack-merge"

1
你也可以通过以下方式重命名来利用合并:

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

通过这种方式,您仍在使用包的旧API名称!

0

我已经像下面这样导入了:

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

并被用作

const mergedConfig = merge(config, customConfig);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接