我寫了一個網站首頁,電腦端速度還行,但是手機端特別卡,vue加載的時候,是把一整個文件打包進去,所以,它的vendors文件特別大。所以我想在本地測試首頁的加載速度。
1.F12打開控制面板
設置3g網速,也可以自定義,紅框的就是頁面加載完成所需要的總時間,這里是26s
一共加載的文件大小是4.2MB,所以慢還是文件太大了,為了讓它能快點,拆包處理
主要是把vendor搞小一點,這樣一進去就能顯示出來。首頁加載的時候,沒必要把其他模塊一起加載進去。我發現vue會把router其他的頁面全部放在一起,就會把包變得特別大。270kb大小對手機端不友好,vendor只能有小於25kb才能加載速度不超過3秒,也是我服務器太差的問題。后台數據異步顯示不會影響界面顯示的
1.webpack拆包不同的js拆分打包
https://www.webpackjs.com/guides/code-splitting/
2.import 按需引入
3.組件拆成單頁面打包
https://www.webpackjs.com/guides/output-management/
或者
https://www.cnblogs.com/moqiutao/p/8522293.html
多頁面配置
但是用的是官方集成的cli所以沒辦法手動改webpack的配置
我剛寫完這篇,周五測試就開瀏覽器讓我改代碼,怎么這么巧呢。。。( 都不是我架構的,不同的架構修改思路是不一樣的)。
0秒的時候,發送了request請求,然后TCP/IP3次握手,waiting等待服務器相應,然后瀏覽器接受到服務器發送的數據下載到本地。
然后到20ms以后,開始request請求 index.js和 test.js 兩個請求在同一個時間被處理了。waiting是請求和返回之間等待的時間間隙,會受到線路、服務器距離等因素的影響。
我加載了2個js,一個index.js和test.js 分別在index.js里面寫了一行,在test.js里面寫了復雜的邏輯,並加了一張200kb的圖片測試等待時間,。
結論是,在限定速度的情況下,所有文件加載waiting的等待時間差不多是一樣的,和文件大小沒什么必然聯系。下載數據的大小,比如js的文件大小(壓縮可以減小大小),是會對content Download的時間有影響。
而文件並發加載和加載順序是和項目的js.css.img架構有關系的。