在webpack4.0版本中已经废弃了之前 UglifyJsPlugin和CommonsChunkPlugin用法
来源:5-1 正式环境打包优化

慕侠3851047
2018-07-12
config.plugins.push( new webpack.optimize.UglifyJsPlugin(), new webpack.optimize.CommonsChunkPlugin({ name: 'vendor' // vendor 中应用的包,不在打包到 app.js 中 }), new webpack.optimize.CommonsChunkPlugin({ name: 'manifest', minChunks: Infinity // 无限压缩 }) )
这用法已经废弃了
百度搜索了几个帖子
迁移到webpack4:从webpack.optimize.CommonsChunkPlugin到config.optimization.splitChunk,以及有个搜出来的中文解决办法是错的
在webpack4.0版本中已经废弃了之前 UglifyJsPlugin的用法,用的是config.minimize
配置 new webpack.optimize.CommonsChunkPlugin
参考的解决方法:
config.optimization = { minimizer: [ new UglifyJsPlugin({ uglifyOptions: { compress: false } }) ], splitChunks: { cacheGroups: { vendor: { name: 'vendor', chunks: 'initial', minChunks: 2, maxInitialRequests: 5, minSize: 0, priority: 10, enforce: true } } } }
写回答
2回答
-
是的。
022018-07-16 -
渴望做梦
2018-10-28
根据我查的资料,以及亲自实践,补充一下:
1、通过设置 optimization.splitChunks.chunks: "all" 可以启动默认的代码分割配置项
默认的分割规则是:
当前模块是公共模块(多处引用)或者模块来自 node_modules
当前模块大小大于 30kb
如果此模块是按需加载,并行请求的最大数量小于等于 5如果此模块在初始页面加载,并行请求的最大数量小于等于所以如果你觉得webpack默认的配置规则符合你的要求,完全和可以用默认配置,官方其实也推荐使用默认配置。
2、webpack4分离manifest的方法,如果有其它需求可以去官方文档查看。
optimization: { splitChunks: { ... },runtimeChunk: { name: "manifest", }, },
00
相似问题