本篇內(nèi)容主要講解“怎樣提高Vue項(xiàng)目首頁的加載速度”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎樣提高Vue項(xiàng)目首頁的加載速度”吧!
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、荔波網(wǎng)絡(luò)推廣、微信小程序開發(fā)、荔波網(wǎng)絡(luò)營銷、荔波企業(yè)策劃、荔波品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供荔波建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
首頁打開速度慢的原因
其實(shí)瀏覽器加載一個(gè)頁面的過程就是通過http協(xié)議從服務(wù)器端下載項(xiàng)目所需要的資源,將html js 圖片文件下載到本地解析后顯示出來,如果出現(xiàn)網(wǎng)頁加載速度慢,打不開無非以下幾個(gè)原因:
鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)
程序自身的Bug導(dǎo)致頁面加載異常
項(xiàng)目的資源太大(如果js 大的圖片)導(dǎo)致訪問瀏覽器從服務(wù)器獲取的所需資源的時(shí)間較長(zhǎng)
網(wǎng)速慢等
所以當(dāng)我們的項(xiàng)目出現(xiàn)這種問題時(shí)只要F12開啟瀏覽器的控制臺(tái)看下network中請(qǐng)求資源的耗時(shí)即可找出問題,通過觀察,現(xiàn)在前端的單頁面應(yīng)用都是是靠 js 生成,因?yàn)槭莝pa,而且所有的渲染都在腳本上,js執(zhí)行需要時(shí)間。另外加載js也要時(shí)間,所以頁面越大,加載時(shí)間越長(zhǎng),而且js執(zhí)行的時(shí)間也長(zhǎng),所以會(huì)出現(xiàn)白屏的情況。
如何解決這個(gè)問題
導(dǎo)致這個(gè)問題的原因就是我們項(xiàng)目打包后資源太大導(dǎo)致,所以我們可以盡量的減少優(yōu)化打包后文件的大小,這樣問題便迎刃而解,怎么去優(yōu)化通常有以下幾點(diǎn):
利用路由的懶加載實(shí)現(xiàn)組件的按需加載,這樣配置后只有當(dāng)路由被訪問時(shí)才會(huì)加載對(duì)應(yīng)的組件,而不是在加載首頁的時(shí)候就直接加載。
{ path: "/usercenter/personal", title: "個(gè)人信息", component: resolve => { require(["@/views/usercenter/personal.vue"], resolve); //通過requie動(dòng)態(tài)加載即可 } },
異步加載組件
既然是異步加載,就會(huì)存在加載失敗等異常情況。這時(shí)候怎么辦呢?看官網(wǎng)紿出的另一個(gè)特性
這樣就可以完美的解決我們的疑問了,當(dāng)異步組件加載失敗后會(huì)顯示錯(cuò)誤的組件。
1. 禁用線上生成的map文件
npm run build編譯之后,我們查看編譯生成的文件,發(fā)現(xiàn)有很多.map文件,這些文件也占了不小的空間。.map文件的作用是幫助編譯后的代碼調(diào)試,但是我們上線的代碼已經(jīng)調(diào)試完成,所以上線時(shí)可以不生成.map文件。
productionSourceMap: false //配置webpack中productionSourceMap值為false即可
2. 啟用Nginx的gzip壓縮功能
在nginx.conf中的http{ }中添加如下代碼即可:
gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 1; gzip_buffers 16 8k; gzip_http_version 1.0; gzip_min_length 256; gzip_types text/plain text/css application/jsonapplication/x-javascript text/xml application/xmlapplication/xml+rss text/javascript application/vnd.ms-fontobjectapplication/x-font-ttf font/opentype image/svg+xml image/x-icon image/jpeg image/gifimage/png;
配置好后重啟服務(wù)重新訪問網(wǎng)站在控制臺(tái)中查看是否生效
3. 對(duì)于一些通用的工具庫可以采用cdn引入,如Jquery,在index.html中從CDN引入,去掉其他頁面的組件import,修改webpack.base.config.js,在externals中加入該組件即可。
4. 服務(wù)器端SSR渲染。 SSR需要在頁面架構(gòu)做一些對(duì)應(yīng)的調(diào)整,稍微復(fù)雜,具體可參考https://segmentfault.com/a/1190000015964813。
5. 代碼層面的優(yōu)化,精靈圖,組件化模塊化,優(yōu)化代碼邏輯,提高代碼復(fù)用性等。
到此,相信大家對(duì)“怎樣提高Vue項(xiàng)目首頁的加載速度”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!