webpack打包速度優(yōu)化的示例分析

這篇文章主要介紹了webpack打包速度優(yōu)化的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為成百上千服務(wù),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!

dll

原有項(xiàng)目是線上和本地公用一套dll配置,因?yàn)閍ntd這類ui庫(kù)需要按需加載所以不能放到dll中,這時(shí)可以單獨(dú)寫(xiě)一個(gè)dll配置,將所有第三方庫(kù)添加到dll中。

這時(shí)因?yàn)?babelrc中添加了babel-plugin-import插件會(huì)導(dǎo)致優(yōu)化不生效,所以需要對(duì)開(kāi)發(fā)環(huán)境單獨(dú)配置babel

webpack打包速度優(yōu)化的示例分析

options的babelrc設(shè)置為false,然后重寫(xiě)一份babel配置,一定不要添加“import”插件

一個(gè)新問(wèn)題,因?yàn)闆](méi)有import插件,導(dǎo)致所有antd組件樣式丟失。這時(shí)我在index-template.html中加入一行注釋<!-- local-style -->,在本地打包時(shí)將其替換為antd相應(yīng)版本在cdn上的css文件

webpack打包速度優(yōu)化的示例分析

緩存

cache-loader專治花里胡哨!雖然你能在webpack的配置里找到n種緩存設(shè)置,但我發(fā)現(xiàn)cache-loader可以替代其它選項(xiàng),它會(huì)在你的項(xiàng)目中創(chuàng)建一個(gè) .cache-loader的文件夾,里面存放緩存文件,因?yàn)槭侵苯訉?xiě)入硬盤(pán),所以第一次打包的時(shí)候會(huì)多消耗幾秒

babel-loader & 多線程

上面的圖中可以看到我將babel-loader升級(jí)到8+,新的preset和plugin都有了命名上的變化。preset-env是用來(lái)替代以前201X的,通過(guò)targets可以指定目標(biāo)代碼(編譯后代碼)的版本,因?yàn)槭潜镜亻_(kāi)發(fā),可以指定到chrome的高版本,這樣很多新語(yǔ)法都不需要轉(zhuǎn)換,可以節(jié)省一點(diǎn)時(shí)間(打包速度在10秒以下之后減一秒都是10%的提升?。。┎贿^(guò)這個(gè)方案要慎重使用,因?yàn)闀?huì)造成線上本地環(huán)境不統(tǒng)一,難保不出現(xiàn)什么神奇的bug

拔掉HappyPack提升性能

在測(cè)試的過(guò)程中我發(fā)現(xiàn)一個(gè)神奇的事情,就是HappyPack反倒會(huì)降低打包時(shí)間,我經(jīng)過(guò)反復(fù)測(cè)試,似乎babel-loader8+自帶了多線程優(yōu)化,所以HappyPack已經(jīng)沒(méi)用了(反而因?yàn)榫€程通信造成了資源浪費(fèi))。babel-loader8+的cpu使用率以及打包時(shí)間和babel-loader6+加HappyPack是相差不多的,但我在google上搜索時(shí)并沒(méi)有看到有人提及此事,官網(wǎng)也沒(méi)看到有個(gè)說(shuō)明(管他那么多呢,能提升速度就行啦!)

后續(xù)計(jì)劃

這個(gè)項(xiàng)目是兩個(gè)人迭代一年份的代碼量,按照上面的配置大部分項(xiàng)目應(yīng)該都可以優(yōu)化到10秒左右的速度(看項(xiàng)目大小,20秒以下應(yīng)該都是正常的),還有一些小的優(yōu)化細(xì)節(jié)對(duì)性能影響不大所以忽略掉了。目前webpack還是3+版本,因?yàn)?的一些變化擔(dān)心影響過(guò)大,暫時(shí)沒(méi)升級(jí),升級(jí)之后應(yīng)該還會(huì)有一些小提速
這7秒還不是最終的速度,我估計(jì)5秒應(yīng)該沒(méi)啥問(wèn)題,后面再想優(yōu)化就需要腦洞大開(kāi)了

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“webpack打包速度優(yōu)化的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

本文標(biāo)題:webpack打包速度優(yōu)化的示例分析
標(biāo)題網(wǎng)址:http://muchs.cn/article34/isppse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)站排名建站公司、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化