成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VUE項目性能優化實踐——通過懶加載提升頁面響應速度

開發 前端
懶加載也叫做延時加載,在網頁響應時不立刻請求資源,待頁面加載完畢或者按需響應時再加載資源,以達到提高頁面響應速度以及節省服務器資源的謎底。

 最近我司因業務需求,需要在一個內部數據分析平臺集成在線Excel功能,既然我們自己就是做開發工具的,所以目光自然就落在了我司自研的前端表格產品上。

項目的目的是要通過數據透視表和Excel公式來分析公司的各項運營數據。不過在集成后,在開發環境頁面運行流暢,大量數據加載處理也很快。但是發布生產后,在用戶每次打開頁面時,加載時間上相較開發階段均有所降低,經過排查速度變慢是由于發布包的vendor.js變大所導致的,這個文件加載每次都需300毫秒左右,由于小的Vue項目并沒有做模塊劃分,所以所有的代碼都直接打包到了vendor中,在集成了新功能后,發布包也隨之變大了。

既然找到了原因,我們就開始著手優化,在前端對于需加載較大資源時,我們一般都采用懶加載的方式來優化效率。

什么是懶加載?

懶加載也叫做延時加載,在網頁響應時不立刻請求資源,待頁面加載完畢或者按需響應時再加載資源,以達到提高頁面響應速度以及節省服務器資源的謎底。網頁中常用的懶加載是圖片的懶加載,對于類似淘寶一樣的多圖頁面,如果等待所有圖片都下載完成再響應用不必然造成頁面加載的卡頓。對于JS資源的加載也是同樣的道理,大JS的加載會造成JS阻塞,頁面出現停止響應的假死狀態。因此可以通過按需加載的方式,提高頁面首屏的加載速度。

總結了具體優化步驟,下面我們就開始著手優化吧!

開始優化

首先是項目環境:Vue 2.6

開發環境:Vue-cli 4.5 + TypeScript 3.9

劃分業務模塊

通過路由異步加載模塊,加速首屏以及其他頁面加載速度,在Vue Router中將webExcel模塊配置為懶加載模式,配置后webExcel組件會按照指定的webpackChunkName打包為單獨的文件,并在訪問webExcel路由的時候才會加載。這樣訪問home以及about頁面時并不會加載webExcel資源。

懶加載路由配置

打包發布訪問頁面,首屏秒開,直接訪問about依舊秒開。可是查看網絡請求時候發現訪問首頁時請求了about和web Excel的資源。經過排查發現vue-cli在頁面中使用了preload和prefetch預加載機制,在不影響當前頁面加載的情況下預加載后續頁面需要的資源提升用戶體驗,這里為了演示清晰注釋掉prefetch的資源。

(臨時禁用prefetch預加載)

開啟路由懶加載后首頁并未加載about和webExcel。

(首頁Home網絡請求)

清理網絡請求記錄,點擊Web Excel,訪問webExcel頁面,此時會請求webExcel資源并展示組件。

(webExcel頁面網絡請求)

在線Excel組件懶加載,進一步優化使用插件頁面打開速度

優化了路由加載,為了提升用戶體驗,進一步優化webExcel頁面,開啟組件懶加載,當需要Designer組件的時候再加載。

開啟異步組件的方式類似于路由,直接配置import組件即可,替換原有的靜態import。

(組件懶加載)

這里我們一步到位使用AsyncComponent配置,這樣在加載組件(loading)時候可以給用戶一個提示。

(頁面模板)

(異步組件懶加載)

頁面上通過displayDesigner屬性控制Designer組件是否顯示,setTimeout 3秒后開始加載Designer組件并展示。LoadingComponent在加載時展示loading狀態。

可以從網絡請求中看到,webExcel加載完3秒后開始請求designer資源,請求時顯示LoadingComponent,請求完畢展示Desinger 組件。

開啟gzip壓縮,加速資源請求速度

為了進一步加速資源請求,可以開啟服務器gizp壓縮,目前大部分瀏覽器都支持gzip,可以開啟服務器的gzip功能,服務器在傳輸資源之前先進行壓縮。

網絡請求Request中會出現如下內容,就表示支持gzip

Accept-Encoding: gzip, deflate, br

Vue-cli可以在打包時就將資源提前進行gzip打包,這樣服務器直接返回打包后的資源不需要再次打包了。通過使用compression-webpack-plugin插件可以在打包時直接生成gz壓縮文件。關于gzip的配置可以根據具體部署情況設置。

總結

經過以上優化,首屏加載資源僅需Vue基礎組件和Home頁面組件,首屏加載速度回復到原始200毫秒。其他未使用Designer組件的頁面也無需加載資源,同時Designer組件加載一次,后續其他頁面再使用組件也無需再次加載

以上就是關于Vue路由和組件懶加載的一些配置,不過懶加載不是萬能的,還是要從實際需求出發決定是否使用。

 

責任編輯:張燕妮 來源: 葡萄城官網
相關推薦

2024-07-23 08:08:18

2009-06-16 15:04:14

JSP頁面響應速度

2014-03-31 16:15:47

移動應用優化

2025-02-19 13:00:00

移動端觸摸事件響應速度JavaScrip

2020-07-17 19:55:50

Vue前端性能優化

2011-08-29 17:16:29

Ubuntu

2024-12-26 11:01:22

2025-03-10 00:00:50

2016-02-15 10:52:46

視頻會議華為

2022-02-22 16:21:04

Windows 11微軟

2021-03-19 06:31:06

vue-lazyloa圖片懶加載項目

2024-02-01 09:51:17

數據庫緩存

2019-12-09 09:34:47

緩存響應數據

2022-06-13 09:45:51

Hook技術移動應用響應速度

2021-02-21 11:40:25

技術優化實踐

2022-10-14 08:47:42

埋點統計優化

2009-06-24 15:16:19

AJAX客戶端

2016-09-30 13:11:31

前端后端網頁速度

2019-09-24 09:25:05

Vue項目加載

2015-10-29 09:40:54

優化頁面加載速度
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区桃乃木香奈 | 精品在线播放 | 日韩精品在线一区 | 亚洲国产成人精品女人久久久 | 国产精品一区二区av | 国产精品国产精品国产专区不卡 | 久久在线免费 | 国产精品久久777777 | 国产精品亚洲二区 | 欧美阿v | 婷婷午夜天 | 国产欧美日韩精品一区二区三区 | 精品乱码一区二区三四区视频 | 波多野结衣一区二区三区在线观看 | 天天射网站 | 国产欧美一区二区在线观看 | 久久久久久久久淑女av国产精品 | 国产欧美精品在线观看 | 伦理午夜电影免费观看 | 国产精品久久久久久久久久久久午夜片 | 欧美成人精品激情在线观看 | 国产精品永久免费观看 | 国产黄色大片 | 亚洲第一区国产精品 | av影音在线| 亚州中文字幕 | 成人不卡在线 | 久久国产美女视频 | 日韩在线免费播放 | 新91视频网 | 久久99精品久久久久久 | 精品国产一区二区三区在线观看 | 国产目拍亚洲精品99久久精品 | 国产人久久人人人人爽 | 在线天堂免费中文字幕视频 | 国产91在线播放精品91 | 国产精品久久久久久久久婷婷 | 国产做a爱免费视频 | 久久久久久久久久久爱 | 91精品国产91久久久久久最新 | 午夜影院网站 |