Vue首屏加載優(yōu)化

Vue在開發(fā)WebApp的時(shí)候皮假,有一個(gè)致命的缺點(diǎn)转锈,那就是首次加載事件過長,本篇文章主要使用各種方法縮減文件大小尤误,并不涉及服務(wù)端渲染侠畔。

環(huán)境

  1. Vue CLI3+Vue全家桶
  2. 服務(wù)器 1 核 2 GB 1 Mbps(最大128 kb/s)

分析工具

  1. VueCLI UI 下的分析工具
  2. 肉眼對(duì)比打包后文件大小

對(duì)優(yōu)化方法的分類

  1. 下載資源階段
  2. 加載渲染階段
  3. 頁面操作階段

本文只討論下載階段

開始

直接啟動(dòng)npm run build得到結(jié)果:

image.png

可以發(fā)現(xiàn)文件十分的大,進(jìn)入js 后發(fā)現(xiàn)了大量的.map文件:
image.png

.map文件的作用:像地圖一樣指示出打包后文件運(yùn)行錯(cuò)誤的具體位置损晤,對(duì)于一個(gè)打包上線的項(xiàng)目而言软棺,這不僅沒用,還具有風(fēng)險(xiǎn)尤勋,所以應(yīng)該去掉喘落,手動(dòng)刪除是笨比方法,只需要更改vue.config.js即可:

module.exports = {
  //使用HTML5 History 應(yīng)該使用絕對(duì)路徑
  publicPath: "/"
  productionSourceMap: false
};

再次打包:

image.png

文件發(fā)生了巨大的變化最冰,進(jìn)去查看后發(fā)現(xiàn)沒有了.map文件瘦棋,但是大家不要忘記了,前文中我的服務(wù)器寬帶是1Mbps暖哨,也就是說最大的下載速度也就是128kb/s赌朋,雖然我使用了路由的懶加載,但是首屏的文件大小也有590kb:
image.png

計(jì)算一下大約需要4.6s才能下載到瀏覽器篇裁,而首屏加載不只需要這一個(gè)js文件沛慢,還有很多的css下載,Dom渲染,現(xiàn)在的加載事件大約是10s茴恰。

image.png

優(yōu)化

我們啟動(dòng) vue ui ,去編譯頁面看看都是那個(gè)依賴造成的颠焦。

image.png

結(jié)果發(fā)現(xiàn)muse-uiswiper占了主要的鍋。

雖然我對(duì)muse-ui使用了組件按需加載往枣,但是我在 main.js中把所有的組件都引入進(jìn)去了伐庭,所以等于沒有按需引入,把不需要的組件引入刪除后muse-ui占比可以看到明顯下降分冈,但是這不是今天的主角圾另。

對(duì)于這種情況,一般的解決方法就是雕沉,阻止webpack打包集乔,去引入CDN加速,我的服務(wù)器下載速度只有 128kb/s 而已坡椒,不如去讓它引入CDN的代碼扰路,這樣速度會(huì)大大提高。
還是在vue.config.js中添加:

//本文件
module.exports = {
  //使用HTML5 History 應(yīng)該使用絕對(duì)路徑
  publicPath: "/",
  productionSourceMap: false,
  configureWebpack: {
   externals: {
      vue:'Vue',
      MuseUI: "muse-ui"
    }
 }
};

同時(shí)在index.html中加入muse-uiVue的CDN連接倔叼。
main.js中的muse-ui引入不需要改變汗唱,在vue,config.js中設(shè)置為外部后,main.js中就失效了丈攒,同時(shí)把Vue也設(shè)置為外部引入哩罪,因?yàn)閙use-ui必須要在Vue實(shí)例化后才能引入授霸,而index.html里面得引入是最開始執(zhí)行的,會(huì)導(dǎo)致muse-ui未定義的錯(cuò)誤际插。
打包后結(jié)果是:

image.png

image.png

大小減少了很多碘耳,頁面也沒有發(fā)生變化。
我們用同樣的手段框弛,把CDN上有的依賴全部使用外部引入辛辨。
image.png

image.png

到目前為止,縮減打包大小到達(dá)了我的極限了瑟枫,對(duì)比最開始得3M愉阎,已經(jīng)有的質(zhì)的得飛躍。我的128kb/s的服務(wù)器也能夠2s內(nèi)就響應(yīng)了力奋。

其他優(yōu)化

使用圖片懶加載
壓縮圖片大小

總結(jié)

關(guān)于優(yōu)化榜旦,最主要的還是圖片的優(yōu)化,最開始我這個(gè)項(xiàng)目打開需要25s景殷,經(jīng)過我把所有的圖片進(jìn)行壓縮后溅呢,縮短到了10s,再壓縮打包文件后,差不多1s多就完成了猿挚。

推薦

JPEG壓縮:能壓縮80% picdiet

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末咐旧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绩蜻,更是在濱河造成了極大的恐慌铣墨,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件办绝,死亡現(xiàn)場離奇詭異伊约,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)孕蝉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門屡律,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人降淮,你說我怎么就攤上這事超埋。” “怎么了佳鳖?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵霍殴,是天一觀的道長。 經(jīng)常有香客問我系吩,道長来庭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任淑玫,我火速辦了婚禮巾腕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘絮蒿。我一直安慰自己尊搬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布土涝。 她就那樣靜靜地躺著佛寿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪但壮。 梳的紋絲不亂的頭發(fā)上冀泻,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音蜡饵,去河邊找鬼弹渔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛溯祸,可吹牛的內(nèi)容都是我干的肢专。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼焦辅,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼博杖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起筷登,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤剃根,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后前方,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狈醉,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年惠险,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舔糖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡莺匠,死狀恐怖金吗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情趣竣,我是刑警寧澤摇庙,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站遥缕,受9級(jí)特大地震影響卫袒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜单匣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一夕凝、第九天 我趴在偏房一處隱蔽的房頂上張望宝穗。 院中可真熱鬧,春花似錦码秉、人聲如沸逮矛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽须鼎。三九已至,卻和暖如春府蔗,著一層夾襖步出監(jiān)牢的瞬間晋控,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工姓赤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赡译,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓不铆,卻偏偏與公主長得像捶朵,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狂男,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345