日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Vue如何提升首屏加載速度實例解析

瀏覽:204日期:2023-01-11 10:06:44

在Vue項目中,引入到工程中的所有js、css文件,編譯時都會被打包進vendor.js,瀏覽器在加載該文件之后才能開始顯示首屏。若是引入的庫眾多,那么vendor.js文件體積將會相當的大,影響首屏的體驗。

這是優化前的頁面加載狀態:執行npm run build打包項目,出來的vendeor.js文件,基本都是1M以上的的巨大文件,沒有用戶能忍受5s以上的loading而不關閉頁面的,如圖所示:

Vue如何提升首屏加載速度實例解析

當項目在掛載到服務器上,平均都是10S以上加載出來,好家伙這加載時間,仿佛過了半個世紀,很煩人,心態boom, 開發者甚至都有種想砸電腦的沖動(·#*@#¥……&*)!

我們先來分析下前端加載速度慢原因

1. 首先安裝webpack的可視化資源分析工具,命令行執行:

npm i webpack-bundle-analyzer -D

2. 然后在webpack的dev開發模式配置中,引入插件,代碼如下:

const BundleAnalyzerPlugin = require(’webpack-bundle-plugin’).BundleAnalyzerPluginplugins: [ new BundleAnalyzerPlugin()]

3. 最后命令行執行npm run build --report, 瀏覽器會自動打開分析結果,如下所示:

Vue如何提升首屏加載速度實例解析

可以看到vue全家桶相關依賴占用了很大的空間,對webpack的構建速度和網站加載速度都會有比較大的影響。單頁應用會隨著項目越大,導致首屏加載速度很慢,針對目前所暴露出來的問題,有以下幾種優化方案可以參考:

有針對性的優化方案

一、對于第三方js庫的優化,分離打包

生產環境是內網的話,就把資源放內網,通過靜態文件引入,會比node_modules和外網CDN的打包加載快很多。如果有外網的話,可以通過CDN方式引入,因為不用占用訪問外網的帶寬,不僅可以為您節省流量,還能通過CDN加速,獲得更快的訪問速度。但是要注意下,如果你引用的CDN 資源存在于第三方服務器,在安全性上并不完全可控。

目前采用引入依賴包生產環境的js文件方式加載,直接通過window可以訪問暴露出的全局變量,不必通過import引入,Vue.use去注冊

在webpack的dev開發配置文件中, 加入如下參數,可以分離打包第三方資源包,key為依賴包名稱,value是源碼拋出來的全局變量。如下圖所示,可以看到打包后vue相關資源包已經排除在外了。對于一些其他的工具庫,盡量采用按需引入的方式。

externals: { vue: ’Vue’, vuex: ’Vuex’, ’vue-router’: ’VueRouter’, axios: ’axios’, ’element-ui’: ’ELEMENT’

Vue如何提升首屏加載速度實例解析

二、vue-router使用懶加載

在訪問到當前頁面才會加載相關的資源,異步方式分模塊加載文件,默認的文件名是隨機的id。如果在output中配置了chunkFilename,可以在component中添加WebpackChunkName,是為了方便調試,在頁面加載時候,會顯示加載的對應文件名+hash值,如下圖:

{ path: ’/Login’, name: ’Login’, component: () = >import( /* webpackChunkName: 'Login' */ ’@/view/Login’)}

Vue如何提升首屏加載速度實例解析

三、圖片資源的壓縮,icon資源使用雪碧圖

嚴格說來這一步不算在編碼技術范圍內,但是卻對頁面的加載速度影響很大。對于所有的圖片文件,都可以在一個叫tinypng的網站上去壓縮一下。網址:tinypng.com/,對頁面上使用到的icon,可以使用在線字體圖標,或者雪碧圖,將眾多小圖標合并到同一張圖上,用以減輕http請求壓力。然后通過操作CSS的background屬性,控制背景的位置以及大小,來展示需要的部分。

四、開啟gizp壓縮

gizp壓縮是一種http請求優化方式,通過減少文件體積來提高加載速度。html、js、css文件甚至json數據都可以用它壓縮,可以減小60%以上的體積。前端配置gzip壓縮,并且服務端使用nginx開啟gzip,用來減小網絡傳輸的流量大小。

命令行執行:npm i compression-webpack-plugin -D

在webpack的dev開發配置文件中加入如下代碼:

const CompressionWebpackPlugin = require(’compression-webpack-plugin’)plugins: [ new CompressionWebpackPlugin()

啟用gzip壓縮打包之后,會變成下面這樣,自動生成gz包。目前大部分主流瀏覽器客戶端都是支持gzip的,就算小部分非主流瀏覽器不支持也不用擔心,不支持gzip格式文件的會默認訪問源文件的,所以不要配置清除源文件。

Vue如何提升首屏加載速度實例解析

配置好之后,打開瀏覽器訪問線上,F12查看控制臺,如果該文件資源的響應頭里顯示有Content-Encoding: gzip,表示瀏覽器支持并且啟用了Gzip壓縮的資源

Vue如何提升首屏加載速度實例解析

Vue如何提升首屏加載速度實例解析

五、webpack相關配置優化

(1)使用uglifyjs-webpack-plugin插件代替webpack自帶UglifyJsPlugin插件來壓縮JS文件;生產環境關閉源碼映射,一方面能減少代碼包的大小,另一方面也有利于系統代碼安全;清除打印日志和debugger信息;配置SplitChunks 抽取公有代碼,提升你的應用的性能

(2)使用mini-xss-extract-plugin提取CSS 到單獨的文件, 并使用optimize-css-assets-webpack-plugin來壓縮CSS文件 。

六、前端頁面代碼層面的優化

(1)合理使用v-if和v-show

(2)合理使用watch和computed

(3)使用v-for必須添加key, 最好為唯一id, 避免使用index, 且在同一個標簽上,v-for不要和v-if同時使用

(4)定時器的銷毀。可以在beforeDestroy()生命周期內執行銷毀事件;也可以使用$once這個事件偵聽器,在定義定時器事件的位置來清除定時器。詳細見vue官網

最終優化后的效果如下圖:vendor.js文件從1M以上優化到256K左右,體積減少接近80%,排除服務器影響的因素,界面渲染速度基本都在1s左右,達到秒開效果,比之前快了太多,體驗一下就上來了嘻嘻。

Vue如何提升首屏加載速度實例解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
97在线精品| 国产精品久久久久av蜜臀| 最新国产拍偷乱拍精品| 亚洲欧美日韩精品一区二区| 欧美一区自拍| 国产精品综合色区在线观看| 国产在线观看www| 亚洲视频电影在线| 日本午夜精品| 福利一区和二区| 视频一区二区国产| 免费视频一区三区| 日韩激情综合| 欧美少妇精品| 在线天堂中文资源最新版| 亚洲一区二区三区高清不卡| 欧美一区激情| 亚洲二区精品| 国产欧美视频在线| 伊人精品一区| 日韩在线观看中文字幕| 国产91欧美| 免费观看日韩电影| 粉嫩av一区二区三区四区五区 | 亚洲伊人影院| 日韩亚洲精品在线| 麻豆国产欧美一区二区三区| 麻豆视频在线观看免费网站黄 | 日韩精品永久网址| 亚洲91在线| 欧美日韩精品在线一区| 日本91福利区| 婷婷亚洲综合| av在线最新| 国产日韩欧美一区二区三区在线观看| 99久久久国产精品美女| 国产一区二区三区久久| 亚洲理论在线| 亚洲精品**中文毛片| 国产亚洲人成a在线v网站| 亚洲精品123区| 99精品视频在线观看免费播放| 久久av日韩| 国产精成人品2018| 日韩中文一区二区| 亚洲免费影院| 影院欧美亚洲| 亚洲精品午夜av福利久久蜜桃| 欧美aa在线观看| 日本а中文在线天堂| 精品美女在线视频| 欧美国产极品| 蜜桃视频第一区免费观看| 欧美精品一区二区三区精品| 日韩精品一区二区三区免费观影 | 国产精品www.| 国产精品一区三区在线观看| 亚洲日韩中文字幕一区| 亚洲一区免费| 亚洲免费精品| 久久亚洲成人| 免费在线小视频| 日韩欧美精品一区| 成人精品中文字幕| 91一区二区三区四区| 欧美日一区二区三区在线观看国产免 | 视频国产精品| 日韩精品久久久久久| 免费人成在线不卡| 亚洲精品大片| 日本免费在线视频不卡一不卡二| 天堂va欧美ⅴa亚洲va一国产| 亚洲人成精品久久久| 伊人久久一区| 欧美日韩一区自拍| 免费看久久久| 美女av一区| 久久久久国产| 99国产精品99久久久久久粉嫩| 午夜电影亚洲| 视频一区中文字幕精品| 国产精品igao视频网网址不卡日韩| 精品亚洲a∨一区二区三区18| 国产精品麻豆久久| 精品三级久久| 99视频一区| 欧美日韩夜夜| 精品黄色一级片| 性色一区二区| sm捆绑调教国产免费网站在线观看 | 国产精品成人自拍| 日本少妇一区| 亚洲男人在线| 国产91欧美| 午夜精品福利影院| av日韩中文| 91精品日本| 在线综合亚洲| 成人在线视频免费| 中文字幕一区二区av| 日韩电影免费在线观看| 日韩中文字幕| 999国产精品视频| 国产欧美88| 99久久九九| 久久成人av| 亚洲a级精品| 免费看av不卡| 国产午夜精品一区在线观看| 亚洲视频www| 国产高清亚洲| 欧美日韩国产一区二区三区不卡| 国产福利一区二区三区在线播放| 国产综合婷婷| 蜜桃精品在线| 日韩国产一区| 国产中文欧美日韩在线| 欧美日韩亚洲一区在线观看| 丝袜亚洲精品中文字幕一区| 国产精选在线| 欧美在线首页| 亚洲涩涩av| 亚洲综合图色| 午夜亚洲精品| 在线观看亚洲精品福利片| 免费在线观看一区二区三区| 国产精品毛片一区二区三区| 成人羞羞视频在线看网址| 国产一区二区亚洲| 丰满少妇一区| 日韩精品看片| 91精品电影| 99成人在线| 99香蕉国产精品偷在线观看 | 日本电影久久久| 一区二区三区网站| 国产欧美日韩在线一区二区| 麻豆久久一区| 女同性一区二区三区人了人一| 国产极品模特精品一二| 69堂精品视频在线播放| 欧美日韩一区自拍| 国产亚洲久久| 精品一二三区| 国产精品久久久久久久久久齐齐 | 亚洲精品乱码日韩| 一区二区高清| 日韩精品导航| 国产福利一区二区三区在线播放| 国产三级精品三级在线观看国产| 国产精品免费99久久久| 国产一区不卡| 精品一区二区三区免费看 | 丝袜美腿诱惑一区二区三区| 精品99久久| 精品一区免费| 亚洲在线国产日韩欧美| 日韩成人午夜精品| 激情久久一区二区| 亚洲天堂久久| 婷婷综合成人| 日韩福利一区| 另类亚洲自拍| 国产麻豆一区二区三区精品视频| 国产一区二区三区四区大秀| 日韩免费av| 水蜜桃久久夜色精品一区的特点 | 国产精品极品在线观看| 欧美成a人免费观看久久| 欧美综合二区| 国产在线一区不卡| 丝袜脚交一区二区| 国产一区二区三区久久| 久久www成人_看片免费不卡| 久久99高清| 日韩一区二区三区精品视频第3页| 国产精品成久久久久| 狠狠久久婷婷| 亚洲三级欧美| 免费看一区二区三区| 色8久久久久| 午夜在线精品偷拍| 欧美日韩一二三四| 在线天堂中文资源最新版| 欧美日韩1区| 亚洲毛片视频| 在线观看一区| 亚洲狼人精品一区二区三区| 日韩三区免费| 精品国产亚洲一区二区在线观看| 久久九九国产| 精品一区不卡| 国产手机视频一区二区| 日本欧美一区| 天堂资源在线亚洲| 精品美女久久| 日韩欧乱色一区二区三区在线| 国产精品自拍区| 综合一区在线| 久久精品官网|