偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何提高Vue項目首頁的加載速度

開發(fā) 前端
為何當(dāng)一個VUE項目過大時,打包之后初次訪問首頁加載速度會異常的緩慢,是什么原因?qū)е乱约叭绾谓鉀Q這些問題?

 為何當(dāng)一個VUE項目過大時,打包之后初次訪問首頁加載速度會異常的緩慢,是什么原因?qū)е乱约叭绾谓鉀Q這些問題?

[[277681]]

 

首頁打開速度慢的原因

其實瀏覽器加載一個頁面的過程就是通過http協(xié)議從服務(wù)器端下載項目所需要的資源,將html js 圖片文件下載到本地解析后顯示出來,如果出現(xiàn)網(wǎng)頁加載速度慢,打不開無非以下幾個原因:

  1. 程序自身的Bug導(dǎo)致頁面加載異常
  2. 項目的資源太大(如果js 大的圖片)導(dǎo)致訪問瀏覽器從服務(wù)器獲取的所需資源的時間較長
  3. 網(wǎng)速慢等

所以當(dāng)我們的項目出現(xiàn)這種問題時只要F12開啟瀏覽器的控制臺看下network中請求資源的耗時即可找出問題,通過觀察,現(xiàn)在前端的單頁面應(yīng)用都是是靠 js 生成,因為是spa,而且所有的渲染都在腳本上,js執(zhí)行需要時間。另外加載js也要時間,所以頁面越大,加載時間越長,而且js執(zhí)行的時間也長,所以會出現(xiàn)白屏的情況。

如何解決這個問題

導(dǎo)致這個問題的原因就是我們項目打包后資源太大導(dǎo)致,所以我們可以盡量的減少優(yōu)化打包后文件的大小,這樣問題便迎刃而解,怎么去優(yōu)化通常有以下幾點:

利用路由的懶加載實現(xiàn)組件的按需加載,這樣配置后只有當(dāng)路由被訪問時才會加載對應(yīng)的組件,而不是在加載首頁的時候就直接加載。

  1. {  
  2.  path: "/usercenter/personal"
  3.  title: "個人信息"
  4.  component: resolve => { 
  5.    require(["@/views/usercenter/personal.vue"], resolve); //通過requie動態(tài)加載即可 
  6.       } 
  7.    }, 

異步加載組件

 

既然是異步加載,就會存在加載失敗等異常情況。這時候怎么辦呢?看官網(wǎng)紿出的另一個特性

 

這樣就可以完美的解決我們的疑問了,當(dāng)異步組件加載失敗后會顯示錯誤的組件。

1. 禁用線上生成的map文件

npm run build編譯之后,我們查看編譯生成的文件,發(fā)現(xiàn)有很多.map文件,這些文件也占了不小的空間。.map文件的作用是幫助編譯后的代碼調(diào)試,但是我們上線的代碼已經(jīng)調(diào)試完成,所以上線時可以不生成.map文件。

  1. productionSourceMap:  
  2. false  //配置webpack中productionSourceMap值為false即可 

2. 啟用Nginx的gzip壓縮功能

在nginx.conf中的http{ }中添加如下代碼即可:

  1. gzip on
  2. gzip_disable "msie6"
  3. gzip_vary on
  4. gzip_proxied any
  5. gzip_comp_level 1; 
  6. gzip_buffers 16 8k; 
  7. gzip_http_version 1.0; 
  8. gzip_min_length 256; 
  9. gzip_types text/plain text/css 
  10.     application/jsonapplication/x-javascript text/xml 
  11.     application/xmlapplication/xml+rss text/javascript 
  12.     application/vnd.ms-fontobjectapplication/x-font-ttf font/opentype   
  13.  image/svg+xml image/x-icon 
  14.  image/jpeg image/gifimage/png; 

配置好后重啟服務(wù)重新訪問網(wǎng)站在控制臺中查看是否生效

 

3. 對于一些通用的工具庫可以采用CDN引入,如Jquery,在index.html中從CDN引入,去掉其他頁面的組件import,修改webpack.base.config.js,在externals中加入該組件即可。

4. 服務(wù)器端SSR渲染。 SSR需要在頁面架構(gòu)做一些對應(yīng)的調(diào)整,稍微復(fù)雜,具體可參考https://segmentfault.com/a/1190000015964813。

5. 代碼層面的優(yōu)化,精靈圖,組件化模塊化,優(yōu)化代碼邏輯,提高代碼復(fù)用性等。

責(zé)任編輯:武曉燕 來源: 新鈦云服
相關(guān)推薦

2024-06-27 11:00:07

2011-05-30 13:28:00

PHP

2011-06-09 16:14:14

2010-12-24 08:57:44

Google加速工具page-speed

2016-09-07 15:02:03

ElasticSear索引速度

2009-03-18 09:06:00

GoogleChrome瀏覽器

2011-05-19 11:33:38

數(shù)據(jù)庫訪問速度

2017-10-20 10:09:01

代碼CocoaPods編譯

2021-01-08 09:40:40

優(yōu)化VUE性能

2024-08-07 15:40:59

2009-03-30 14:12:38

LinuxUnladenSwallow

2011-05-30 13:15:05

PHP

2010-03-12 15:49:46

Python字串查找

2009-10-16 08:48:08

2022-04-27 09:24:22

前端代碼速度

2011-07-04 17:45:45

Qt Sqlite 數(shù)據(jù)庫

2010-01-06 16:55:33

Web交換機(jī)

2020-05-26 13:25:00

語言編譯代碼

2021-05-12 11:19:08

DevTools堆棧追蹤

2016-03-02 17:55:03

app用戶加載
點贊
收藏

51CTO技術(shù)棧公眾號