国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

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

發(fā)布時(shí)間:2021-09-04 11:55 來(lái)源:億速云 閱讀:0 作者:小新 欄目: 開(kāi)發(fā)技術(shù)

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

dll

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

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

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

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

緩存

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

babel-loader & 多線(xiàn)程

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

拔掉HappyPack提升性能

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

后續計劃

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

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

中出内射颜射骚妇| 国产无遮挡AAA片爽爽| 国产成人福利美女观看视频| 日韩精品无码中文字幕电影| 内射在线CHINESE| А√ 天堂 在线官网中文下载|