最近换了一个公司,一直在用vue做后台管理系统,大集团得后台管理系统页面多的难以想象,很自然项目越做越大,打包编译速度越来越慢,只能拿出最强的百度进行百度优化了!
首先优化UglifyJS插件
webpack默认提供了UglifyJS插件来压缩JS代码,但是它使用的是单线程压缩代码,也就是说多个js文件需要被压缩,它需要一个个文件进行压缩。所以说在正式环境打包压缩代码速度非常慢(因为压缩JS代码需要先把代码解析成用Object抽象表示的AST语法树,再去应用各种规则分析和处理AST,导致这个过程耗时非常大)。
因此我们需要可以并行处理多个子任务,多个子任务完成后,再将结果发到主进程中,有了这个思想后,因此 ParallelUglifyPlugin 插件就产生了,当webpack有多个JS文件需要输出和压缩时候,原来会使用UglifyJS去一个个压缩并且输出,但是ParallelUglifyPlugin插件则会开启多个子进程,把对多个文件压缩的工作分别给多个子进程去完成,但是每个子进程还是通过UglifyJS去压缩代码。无非就是变成了并行处理该压缩了,并行处理多个子任务,效率会更加的提高。
安装 webpack-parallel-uglify-plugin 插件
![](https://img.haomeiwen.com/i1480521/48529634be03c7cf.png)
![](https://img.haomeiwen.com/i1480521/2f1c2307da881439.png)
![](https://img.haomeiwen.com/i1480521/a8e39fabeb4c12a8.png)
两次打包对比基本上大小能相差30%!!!!
网友评论