webpack--webpack.optimize.CommonsChunkPlugin has been removed, please use config.o
Posted 苏小米
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack--webpack.optimize.CommonsChunkPlugin has been removed, please use config.o相关的知识,希望对你有一定的参考价值。
webpack4版本前,可以使用webpack内置的JS插件CommonsChunkPlugin来提取第三方库和公共模块,避免首屏加载的bundle文件或者按需加载的bundle文件体积过大,从而导致加载时间过长.具体设置如下:
webpack.config.js
module.exports = { entry: { app: path.join(__dirname, \'./src/main.js\'), vendors:[\'jquery\'] //把要抽离的第三方包的名称,放到这个数组中 }, output: { path: path.join(__dirname, \'./dist\'), filename: \'js/bundle.js\' }, plugins:[ new webpack.optimize.CommonsChunkPlugin({ name:’vendors’, // 指定要抽离的入口名称 filename:’js/vendors.js’ //将来再发布的时候,除了会有一个bundle.js,还会多一个vendor.js文件,里面存放了所有的第三方包 }) ] }
更多具体设置,可查看:https://segmentfault.com/a/1190000012828879?utm_source=tag-newest
webpack4版本,已经不用webpack.optimize.CommonsChunkPlugin。如果引用,会报下面的错。
可以在optimization.splitChunks中设置
module.exports = { entry: { app: path.join(__dirname, \'./src/main.js\'), vendors:[\'vue\',\'vue-router\'] //把要抽离的第三方包的名称,放到这个数组中 }, output: { path: path.join(__dirname, \'./dist\'), filename: \'js/bundle.js\' }, module:{}, plugins:[], optimization: { minimizer: [new UglifyJsPlugin()], splitChunks: { cacheGroups: { commons: { name: \'commons\',//commons里面的name就是生成的共享模块bundle的名字 chunks: \'all\', minChunks: 2 } } } } }
具体配置,可以查看:https://webpack.js.org/plugins/split-chunks-plugin/
以上是关于webpack--webpack.optimize.CommonsChunkPlugin has been removed, please use config.o的主要内容,如果未能解决你的问题,请参考以下文章