webpack最佳化

有些东西学不会發表於2024-04-12

編譯最佳化

1、使用快取:快取可以顯著提高編譯速度。例如,babel-loader的cacheDirectory選項可以將轉譯的結果快取到檔案系統中,此外,cache-loader可以將其他loader的處理結果快取到磁碟。

2、DLL動態連結庫:DLL檔案為動態連結庫,在一個動態連結庫中可以包含給其他模組呼叫的函式和資料。原因在於包含大量複用模組的動態連結庫只需要編譯一次,在之後的構建過程中被動態連結庫包含的模組將不會在重新編譯,而是直接使用動態連結庫中的程式碼。

3、效能分析:使用speed-measure-webpack-plugin進行速度分析,可以看到每一個Loader以及Plugin的耗時。

4、合理配置:例如,使用include或者exclude配置,來避免重複打包。

5、提升基礎環境版本:更新到最新的Webpack版本,可以利用最新的效能最佳化。

6、啟用多程序打包:可以進一步提高打包速度。

7、開發中使用熱更新替換自動重新整理:這樣可以避免每次修改程式碼後都需要完全重新構建。

8、使用DllPlugin外掛:最佳化提高打包時間。

打包最佳化

1、提升基礎環境版本:更新到最新的Webpack版本,可以利用最新的效能最佳化。

2、 使用include或者exclude配置:避免重複打包。

3、 合理的利用快取來減少打包時間:例如,babel-loader的cacheDirectory選項可以將轉譯的結果快取到檔案系統中

4、 合理的使用plugin:減少打包時間和體積。

5、 合理配置relosve:防止減慢打包時間。

6、 啟用多程序打包:可以進一步提高打包速度。

7、開發中使用熱更新替換自動重新整理:這樣可以避免每次修改程式碼後都需要完全重新構建。

8、 使用DllPlugin外掛:最佳化提高打包時間。

9、 使用speed-measure-webpack-plugin外掛:它分析 webpack 的總打包耗時以及每個 plugin 和 loader 的打包耗時,從而讓我們對打包時間較長的部分進行針對性最佳化。

相關文章