欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

react配置webpack-bundle-analyzer項目優(yōu)化踩坑記錄

 更新時間:2023年06月08日 09:21:26   作者:sleeppingfrog  
這篇文章主要介紹了react配置webpack-bundle-analyzer項目優(yōu)化踩坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

react配置webpack-bundle-analyzer項目優(yōu)化踩坑

webpack-bundle-analyzer是一款神奇。能分析項目中依賴包的大小,從而讓開發(fā)者能有針對性的進行優(yōu)化的webpack插件

步驟:

(1)安裝 cnpm i webpack-bundle-analyzer --save-dev

  (2) 在config文件夾中找到webpack.config.js,進行如下操作

特別注意這里new BundleAnalyzerPlugin的時候要找準位置;和module參數(shù)同級的plugins;[]才是配置plugin的地方

這樣我們在npm run build的時候瀏覽器會自動打開9090端口的一個頁面顯示當前依賴包的各種大小拼圖

ps:

vue中配置改插件步驟:(以vuecli3為例。)

(1) 安裝 cnpm install webpack-bundle-analyzer -D

(2)在vue.config.js文件配置選項:

const?BundleAnalyzerPlugin?=?require('webpack-bundle-analyzer').BundleAnalyzerPlugin
module.exports={
????chainWebpack:config=>{
????????if?(process.env.use_analyzer)?{?????//?分析
????????????config.plugin("BundleAnalyzerPlugin").use(BundleAnalyzerPlugin)
????????}
????},
????pluginOptions:{
????}
}

(3) 安裝npm安裝cross-env,(windows不支持xxx=xxx寫法)

(4)配置package.json

"scripts":?{
????"serve":?"vue-cli-service?serve",
????"build":?"cross-env?use_analyzer=true?vue-cli-service?build",
????"lint":?"vue-cli-service?lint",
????"analyzer":?"cross-env?use_analyzer=true?npm?run?build"
??},

如果希望在打包的時候顯示。則在build命令里配置cross-env use_analyzer=true即可。

如果希望單獨設置一個命令用來顯示模塊大小,可以重新配置,如上  "analyzer": "cross-env use_analyzer=true npm run build"。

key值可以隨便取。

webpack-bundle-analyzer的使用

安裝

npm install --save-dev webpack-bundle-analyzer

代碼:(在umi項目中config.ts的配置)

import {BundleAnalyzerPlugin} from 'webpack-bundle-analyzer';
const chainWebpack = (config: any) => {
? config.plugin(BundleAnalyzerPlugin).use(BundleAnalyzerPlugin);
};

使用

npm run build

運行打包命令(運行dev或者start也可以),webpack會自動在瀏覽器中打開一個可視化分析工具。

可以在這個工具中查看模塊及其大小,識別哪些模塊占用了較多的空間。

可視化工具欄詳解

1. Treemap sizes:

是指webpack-bundle-analyzer生成的包大小分析圖中,用于展示不同模塊、chunk或者資源在打包后的大小占比情況的矩形圖(treemap)。

在這個圖中,每個矩形的大小代表了對應模塊、chunk或者資源的大小,而顏色則表示該模塊、chunk或者資源的類型。

其中,Stat代表源代碼的大小,即未壓縮的大??;Parsed代表解析后的代碼大小,即應用了webpack的優(yōu)化后的大小,也就是我們常說的“打包后的大小”;Gzipped則代表經(jīng)過gzip壓縮后的大小,也就是實際傳輸?shù)娇蛻舳说拇笮 ?/p>

因此,通常情況下,我們更關(guān)注Parsed和Gzipped的大小,因為它們直接影響了實際使用的流量和加載時間。而Stat的大小則可以用來衡量源代碼的復雜程度和可維護性等因素。

2. Filter to initial chunks

它的作用是將分析圖中的模塊、chunk或者資源,篩選出與初始頁面加載有關(guān)的模塊和chunk,并將其他模塊和chunk過濾掉。這樣可以讓你更加清晰地了解初始頁面加載所需的代碼和資源,以幫助你進行性能優(yōu)化。

需要注意的是,"Filter to initial chunks"選項可能會過濾掉一些與初始頁面加載無直接關(guān)系的代碼,比如異步加載的代碼或者按需加載的組件等。如果你需要查看全部的代碼和資源,可以將這個選項禁用。

3. Search modules

它的作用是在分析圖中快速查找模塊或者資源,并高亮顯示匹配的矩形。

使用"Search modules"功能進行查找時,你需要在搜索框中輸入要查找的模塊或者資源的名稱,然后點擊搜索按鈕。如果搜索框中的關(guān)鍵字匹配了分析圖中的某個模塊或者資源的名稱,那么匹配的矩形將被高亮顯示出來。如果搜索框中的關(guān)鍵字沒有匹配到任何模塊或者資源,分析圖不會發(fā)生變化。

需要注意的是,"Search modules"功能只能查找模塊或者資源的名稱,無法查找模塊或者資源的其他屬性,如大小、依賴關(guān)系等。此外,在大型的分析圖中,"Search modules"功能可能會比較慢,因為需要遍歷所有的模塊或者資源名稱進行匹配。因此,建議在使用"Search modules"功能時,盡量輸入準確的關(guān)鍵字,以提高搜索速度和準確性。 

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • React報錯之Object?is?possibly?null的問題及解決方法

    React報錯之Object?is?possibly?null的問題及解決方法

    這篇文章主要介紹了React報錯之Object?is?possibly?null的問題,造成 "Object is possibly null"的錯誤是因為useRef()鉤子可以傳遞一個初始值作為參數(shù),而我們傳遞null作為初始值,本文給大家分享詳細解決方法,需要的朋友可以參考下
    2022-07-07
  • Taro?React自定義TabBar使用useContext解決底部選中異常

    Taro?React自定義TabBar使用useContext解決底部選中異常

    這篇文章主要為大家介紹了Taro?React底部自定義TabBar使用React?useContext解決底部選中異常(需要點兩次才能選中的問題)示例詳解,有需要的朋友可以借鑒參考下
    2023-08-08
  • 每天學習一個hooks?useMount

    每天學習一個hooks?useMount

    這篇文章主要為大家介紹了每天學習一個hooks?useMount,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • react中的雙向綁定你真的了解嗎

    react中的雙向綁定你真的了解嗎

    這篇文章主要為大家詳細介紹了react中的雙向綁定,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • React如何配置src根目錄@

    React如何配置src根目錄@

    這篇文章主要介紹了React如何配置src根目錄@,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • 使用react的7個避坑案例小結(jié)

    使用react的7個避坑案例小結(jié)

    React是個很受歡迎的前端框架。今天我們探索下React開發(fā)者應該注意的七點,感興趣的小伙伴們可以參考一下
    2021-05-05
  • React useEffect、useLayoutEffect底層機制及區(qū)別介紹

    React useEffect、useLayoutEffect底層機制及區(qū)別介紹

    useEffect 是 React 中的一個 Hook,允許你在函數(shù)組件中執(zhí)行副作用操作,本文給大家介紹React useEffect、useLayoutEffect底層機制及區(qū)別介紹,感興趣的朋友一起看看吧
    2025-04-04
  • React SSR樣式及SEO的實踐

    React SSR樣式及SEO的實踐

    這篇文章主要介紹了React SSR樣式及SEO的實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • React受控組件與非受控組件實例分析講解

    React受控組件與非受控組件實例分析講解

    具體來說這是一種react非受控組件,其狀態(tài)是在input的react內(nèi)部控制,不受調(diào)用者控制??梢允褂檬芸亟M件來實現(xiàn)。下面就說說這個React中的受控組件與非受控組件的相關(guān)知識,感興趣的朋友一起看看吧
    2023-01-01
  • React父子組件間的通信是怎樣進行的

    React父子組件間的通信是怎樣進行的

    這篇文章主要介紹了React中父子組件通信詳解,在父組件中,為子組件添加屬性數(shù)據(jù),即可實現(xiàn)父組件向子組件通信,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2023-03-03

最新評論