Webpack 2 中一些罕见的优化步伐

Webpack 2中一些罕见的优化步伐

星散第三方依靠

在开辟环境下, 一般会采纳 HMR 形式来进步开辟效力. 但平常情况下, 我们只会变动本身的营业文件, 不会去变动第三方的依靠, 但 webpack 在 rebuild 的时刻, 依旧会 build 一切的依靠. 因此, 为削减 rebuild 的时候, 我们能够星散第三方依靠, 在项目启动之前, 将其零丁打包和引入.

多历程构建

Webpack的构建历程是单历程的,运用HappyPack能够让loader对文件举行多历程处置惩罚,以此加速rebuild速率

提取大众的依靠模块

无论是单页照样多页运用,在临盆环境下,一般都邑运用CommonsChunkPlugin插件来供应大众的依靠模块。然则这类体式格局会致使两个题目:1.营业越庞杂,第三方依靠会越多,vendor包会越大;2.没有断绝营业路由组件,一切的路由都可能会去加载vendor,但并非一切的路由组件都邑依靠node_module下的一切模块。所以我们应当剖析营业依靠和路由,尽可能将一切组件的大众依靠提取出来。

文件星散

文件星散主假如将图片和CSS从js中星散。图片和CSS都是Webpack须要构建的资本,经由过程某种设置,图片能够以base64的体式格局殽杂在js文件中,这会增添终究的bundle文件的大小。在临盆环境下,能够斟酌将图片和css从js中星散。

  • 在临盆环境下,经由过程自定义插件,将图片的当地援用替换为CDN的链接

  • 在临盆环境下,经由过程ExtractTextPlugin来提取CSS

资本殽杂和紧缩

Webpack供应的UgligyJS插件因为采纳单线程紧缩,速率比较慢,能够运用Prarllel插件举行优化

Gzip紧缩

在临盆环境下,假如想进一步削减bundle文件的大小,能够运用Gzip紧缩

按需加载

在单页运用中,一个运用可能会对应许多路由,每一个路由都邑对应一个组件;假如将这些组件悉数放入一个bundle文件中,会致使终究的bundle文件比较大,因此,我们须要运用Webpack的Code Splitting功用,将代码举行支解,完成路由的按需加载。

参考文章:https://github.com/dwqs/blog/…

    原文作者:jhhfft
    原文地址: https://segmentfault.com/a/1190000009702700
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞