今天在使用webpack-merge插件时,遇到一个报错:

smart is not a function

源代码:

let { smart } = require("webpack-merge");
let base = require("./webpack.config.js");
module.exports = smart(base, {
  mode: "development"
})

运行:

npx webpack --config webpack.dev.js

报错:

smart is not a function

报错原因:

网上查了半天,发现大部分人遇到这个问题是没有解构(如:let smart = require("webpack-merge");),但此处我是解构了的。

解决办法:

最后把smart变量改名为merge就好了。

奇奇怪怪……

正确写法:

let { merge } = require("webpack-merge");
let base = require("./webpack.config.js");
module.exports = merge(base, {
  mode: "development"
})