webpack.optimize.ModuleConcatenationPlugin 不是构造函数

webpack.optimize.ModuleConcatenationPlugin is not a constructor

升级到 Webpack 3 后,Travis CI 出现以下错误。

它似乎在我的本地环境中运行良好,但是当我提交 travis 的 master 和 kick 时,它现在一直失败并出现以下错误。

21 06 2017 20:16:31.514:ERROR [config]: Invalid config file!
  TypeError: webpack.optimize.ModuleConcatenationPlugin is not a constructor
    at Object.<anonymous> (/home/travis/build/.../webpack.prod.config.babel.js:91:3)
    at Module._compile (module.js:569:30)
    at loader (/home/travis/build/.../node_modules/babel-register/lib/node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (/home/travis/build/.../node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)

它抱怨的线路

// Webpack 3 Scope Hoisting
new webpack.optimize.ModuleConcatenationPlugin(),

当然,我的 package.json 中也将 Webpack 设置为版本 3。

"webpack": "^3.0.0",

我的 Travis yml 非常简单

language: node_js
sudo: false
node_js:
- '8'

删除node_modulespackage-lock.json,然后再次运行npm install生成新的package-lock.json。提交新 package-lock.json 后,Travis 应该可以正常工作。

我在本地遇到了完全相同的问题,我按照我描述的做了,我不再有那个问题了。