Error:webpack.optimize.CommonsChunkPlugin has been removed
背景
问题描述
报错内容
Error: webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead
复现
问题是项目在升级了webpack到v4.0.0后,打包生产环境文件,报错走不下去。
至于CommonsChunkPlugin的作用和用法,参考这篇博客《详解CommonsChunkPlugin的配置和用法》
CommonsChunkPlugin主要是用来提取第三方库和公共模块,避免首屏加载的bundle文件或者按需加载的bundle文件体积过大,从而导致加载时间过长,着实是优化的一把利器。
解决办法
build/webpack.base.conf.js
文件
- 增加如下代码,与resolve,output平级
optimization: { splitChunks: { cacheGroups: { commons: { name: 'commons', chunks: 'initial', minChunks: 2 } } } }
- 注释一行代码:
new webpack.optimize.CommonsChunkPlugin('common.js')
plugins: [ // new webpack.optimize.CommonsChunkPlugin('common.js'), new webpack.ProvidePlugin({ $:"jquery", jQuery:"jquery" }) ]