1. 程式人生 > >VUE工程上線首頁載入慢問題優化

VUE工程上線首頁載入慢問題優化

    首先明確是什麼導致載入很慢。檢視控制檯Network,找到載入時長很長的檔案。這些檔案都是npm run build編譯之後生成的,載入慢一是因為網路慢,這個我們不考慮,另一個是檔案過大。那麼我們就要想辦法壓縮檔案。

    在討論壓縮方式之前,我們先介紹一種可以檢視各部分檔案大小及編譯後文件大小的方法。

    使用webpack-bundle-analyzer工具,先

    npm install cross-env --save-dev

  安裝依賴包,然後在package.json的scripts中新增

   "analyze":"cross-env NODE_ENV=production npm_config_report=true npm run build",如下圖所示。

    之後執行npm run analyze就會在瀏覽器自動開啟一個頁面顯示檔案資訊。

    每一塊是一個編譯檔案及其所編譯的原始檔內容,最上方的檔案是編譯完成的檔案,下面的其他檔案就是此編譯檔案所編譯的原始檔,色塊的大小代表檔案大小,這樣我們可以很直觀地看出哪些檔案比較大。

    下面介紹幾種壓縮檔案的方式。

    1、vue-router懶載入

    懶載入的意思是當路由被訪問的時候才載入對應元件,而不是在首頁就全部載入,以此來提高首頁反應速度。router/index.js路由懶載入格式如下。
 

    2、工程檔案打包的時候不生成.map檔案。

    npm run build編譯之後,我們檢視編譯生成的檔案,發現有很多.map檔案,這些檔案也佔了不小的空間。.map檔案的作用是幫助編譯後的程式碼除錯,但是我們上線的程式碼已經除錯完成,所以上線時可以不生成.map檔案。

 

在config/index.js中將productionSourceMap的值修改為false,就可以在編譯時不生成.map檔案了。


    3、gzip壓縮

    這裡我使用的是nginx伺服器,找到nginx.conf檔案目錄,在配置檔案中新增以下語句,即可實現gzip壓縮。gzip的壓縮效率極高,壓縮程式碼必備。

 

    gzip_types後面的內容表示壓縮檔案的型別,需要把你要壓縮的所有檔案型別寫上去,還要考慮檔案型別支援問題。我就遇到了檔案型別問題,一開始我並沒有加入application/javascript,執行時發現檔案並沒有壓縮,後來查閱資料嘗試加入application/javascript就成功了。

    我們看到有很多javascript,application/x-javascript,application/ javascript,text/javascript,這幾個的關係引用一位網友的解釋,

 

    避免出現有些型別不支援的問題,我們最好把它們都配置上。

    4、CDN

    在專案開發中,我們會用到很多第三方庫,如果可以按需引入,我們可以只引入自己需要的元件,來減少所佔空間,但也會有一些不能按需引入,我們可以採用CDN外部載入,在index.html中從CDN引入元件,去掉其他頁面的元件import,修改webpack.base.config.js,在externals中加入該元件,這是為了避免編譯時找不到元件報錯。

    5、VUE非同步元件

    非同步載入元件,減輕首頁負擔。

    參考:https://segmentfault.com/a/1190000012138052

    6、伺服器端渲染

    我們現在都是採用瀏覽器端渲染的方式,如果將渲染放在伺服器端,會大大提高載入速度。
    參考:https://segmentfault.com/a/1190000008795113

相關推薦

VUE工程上線載入問題優化

    首先明確是什麼導致載入很慢。檢視控制檯Network,找到載入時長很長的檔案。這些檔案都是npm run build編譯之後生成的,載入慢一是因為網路慢,這個我們不考慮,另一個是檔案過大。那麼我們就要想辦法壓縮檔案。    在討論壓縮方式之前,我們先介紹一種可以檢視各

部落格載入優化

部落格地址:https://ainyi.com/#/62 這些日子剛到京東工作,剛在北京安定下來,事情比較多 但在上週看了看我的部落格,發現首頁的載入速度真的夠慢的 雖然之前就發覺,但一直不知道怎麼繼續優化,好像該優化的都已經優化好 重大 bug 從剛做好這個部落格不就第一次就發現了,發起

vue2載入問題

(1)nginx開啟gzip    gzip on;    gzip_static on;    gzip_disable "msie6";    gzip_min_length 100k;    gzip_buffers 4 16k;    gzip_comp_level

解決vue專案載入的情況

什麼導致了首頁初步載入過慢 請看下面一張圖就清楚了 即app.js檔案過大導致的。。。 如何來處理 vue-route 懶載入 component: resolve => require(['

Vue 網站載入優化

# Vue 網站首頁載入優化 本篇主要講解 Vue專案打包後 vendor.js 檔案很大 如何對它進行優化 以及開啟Vue的壓縮 和 nginx gzip 壓縮的使用, 其他就是對介面優化等 ###  1. vendor.js 優化  由於Vue專案隨著功能變多 依賴也會隨之變多,減少vendo

基於Eclipse遠程調試解決的預上線打開特別的問題

首頁 技術 cat 技術分享 work eclipse 分享圖片 .com 分享 預上線首頁打開特別慢 network標簽中,由上圖可以看出getNewsList.do是最耗時的,使用了2.13s(出現問題時是30s)。 使用Tomcat的Remote Applicati

WordPress載入速度--簡單優化&顯著效果

用了昨晚大概兩個小時,進行了個人站點首頁的優化,首頁載入時間提升數倍(百度分析:網通從8秒優化到2秒,電信從20秒以上優化到3秒以內),其實僅僅是針對首頁進行了簡單的處理,但是效果確實非常明顯。現在記錄下來,很多新手建站也會面臨首頁載入慢的問題,可以參考一下,也許你的站點就能得

vue如果是了 不讓其後退

window.addEventListener('popstate', function(e) { if(document.URL.split('/')[document.URL.split('/').length - 1] == 'home') { history.p

vue設定預設

在router.js設定如下: index就是預設頁面 const routes = [ // 公司專案 { path: '/', redirect: '/index' }, {path:'/index',component:index}, { path:'/e

apicloud與vue實現app和頁面跳轉

<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="maximum-scale=1.0,m

Spring boot載入快取問題

    在專案使用測試過程中,發現有時使用者展示不出來,而且不是必現,讓人頭痛。自己測試通過不斷重新整理頁面,的確偶爾出現使用者資訊展示不出來問題,通過F12準備定位一下是頁面請求載入情況,發現問題又不出現了。。。按正常如果是程式碼問題,應該不會出現這樣的情況。那怎麼出現這個

Vue 旅遊網開發

旅遊 node.js vue bsp 安裝 開發 node nod 首頁 Vue 旅遊網首頁開發 環境安裝 安裝 node.js

如何在載入資料?

網站開啟的第一頁是index.jsp,但裡面有些資料是從資料庫裡得到的,有什麼辦法能在開啟index.jsp的時候就加入資料呢? 1.利用javascript的非同步,將請求傳送到servlet,然後servlet連線資料庫,返回結果到前臺。 2.用一個html首頁加上<

Vue專案優化載入速度

Vue專案部署上線後經常會發現首屏載入的速度特別慢:那麼有那寫能做的簡單優化呢 一、路由的懶載入 路由懶載入也就是 把不同路由對應的元件分割成不同的程式碼塊,然後當路由被訪問的時候才載入對應元件。 結合 Vue 的非同步元件和 Webpack 的程式碼分割功能,輕鬆實現路由元件的懶載入。&nbs

優化載入(聊聊百度移動端前端優化)

1.靜態檔案放置 百度首頁沒有外鏈css,js也很少,是為了減少http請求,一般首屏所需要的js與css,全部在上線前編譯內聯至HTML中,如下圖: 2.快取 cookie,localstorage 如果html,css,js一直不變,就直接快取到客戶端localstorag

51CTO博客移動版將於7月內完成上線

51cto博客 首頁移動版 親愛的博主們,在51CTO博客首頁PC版本完成後,我們開啟了首頁移動端適配的開發,移動版首頁將於7月內完成,希望可以給大家在手機端更好的閱讀體驗~本文出自 “51CTO社區官方博客” 博客,請務必保留此出處http://51ctoblog.blog.51cto.co

Cocos Creator—優化打開速度

ebp linker hub targe .com 中一 -m data 徹底 Cocos Creator是一個優秀的遊戲引擎開發工具,很多地方都針對H5遊戲做了專門的優化,這是我比較喜歡Cocos Creator的一點原因。 其中一個優化點是首頁的加載速度,開發組為了加

Vue學習 學習

mini borde ret type tle UC ucc 3D sco 首頁: http://localhost:8002/#/, 登錄頁面如下: index.js文件中如下的路由配置,轉過去看login.vue是如何實現的。 const routes = [

react 載入優化

react 首屏載入優化,原本是在入口HTML檔案中載入loading動畫,但是部署在測試環境上的時候一直無法顯示loading的部分,也是奇怪了,我們測試環境的部署一直跟本地的都不太一樣,內外網的轉發多次,總感覺會丟掉一些檔案。 本次採取的優化方法就是,按需載入,首先需要下載依賴,yarn add rea

搭建自己的部落格(四):優化和詳情

上一篇簡單的建立了詳情頁和首頁,這篇稍微優化一下,添加發布日期,分類,標籤以及根據標籤篩選該標籤的內容。 1、優化首頁和詳情頁 <!DOCTYPE html> <html lang="en"> <head> <meta charset