国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 如何減少 Webpack 打包體積

如何減少 Webpack 打包體積

來源:千鋒教育
發布人:wjy
時間: 2022-09-07 16:58:00 1662541080

  1. 按需加載

  在開發 SPA 項目的時候,項目中都會存在很多路由頁面。如果將這些頁面全部打包進一個 JS 文件的話,雖然將多個請求合并了,但是同樣也加載了很多并不需要的代碼,耗費了更長的時間。那么為了首頁能更快地呈現給用戶,希望首頁能加載的文件體積越小越好,這時候就可以使用按需加載,將每個路由頁面單獨打包為一個文件。當然不僅僅路由可以按需加載,對于 loadash 這種大型類庫同樣可以使用這個功能。

  按需加載的代碼實現這里就不詳細展開了,因為鑒于用的框架不同,實現起來都是不一樣的。當然了,雖然他們的用法可能不同,但是底層的機制都是一樣的。都是當使用的時候再去下載對應文件,返回一個 Promise,當 Promise 成功以后去執行回調。

  2. Scope Hoisting

  Scope Hoisting 會分析出模塊之間的依賴關系,盡可能的把打包出來的模塊合并到一個函數中去。

  比如希望打包兩個文件:

  

 

  對于這種情況,打包出來的代碼會類似這樣:

  

 

  但是如果使用 Scope Hoisting ,代碼就會盡可能的合并到一個函數中去,也就變成了這樣的類似代碼:

  

 

  這樣的打包方式生成的代碼明顯比之前的少多了。如果在 Webpack4 中你希望開啟這個功能,只需要啟用 optimization.concatenateModules 就可以了:

  

 

  3. Tree Shaking

  Tree Shaking 可以實現刪除項目中未被引用的代碼,比如:

  

 

  對于以上情況,test 文件中的變量 b 如果沒有在項目中使用到的話,就不會被打包到文件中。

  如果使用 Webpack 4 的話,開啟生產環境就會自動啟動這個優化功能。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT