webpack打包体积过大的优化方案
webpack把我们所有的文件都打包成一个js文件,即使你是小项目,打包后的文件也非常大
1)去掉不必要的插件
开发环境和生产环境使用同一个webpack配置文件,导致生产环境打包的js文件包含很多没必要的插件(如:NoEmitOnErrorsPlugin)
2)提取第三方库
第三方库和源代码在一起打包体积会很大
CommonsChunkPlugin 提取代码中公共模块,然后将公共模块打包到一个独立的文件中,以便在其他的入口和模块中使用。
3)代码压缩
内置插件UglifyPlugin,加入这个插件编译速度会变慢,所以一般只在生产环境启用
4)代码分割(webpack的code split配合router)
webpack的code spliting特性可以将代码库分割成按需加载的块(chunks)
AMD/commmonJS指定不同的方法去做代码按需加载,他们支持代码分割并充当分割点
不支持es6的模块系统
5)设置缓存
对于静态文件,第一次获取之后,文件内容没有改变的话直接读取缓存,但是如果缓存时间过长文件要更新的话可以打包后的文件名加入hash值
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!