Vue項(xiàng)目使用CDN優(yōu)化首屏加載問題
前言
作為一個(gè)網(wǎng)站應(yīng)用,加載速度是非常重要的。加載速度,一個(gè)是程序的合理安排,如以組件按需加載,一個(gè)是js、css等資源的異步加載。
在Vue項(xiàng)目中,引入到工程中的所有js、css文件,編譯時(shí)都會(huì)被打包進(jìn)vendor.js,瀏覽器在加載該文件之后才能開始顯示首屏。若是引入的庫眾多,那么vendor.js文件體積將會(huì)相當(dāng)?shù)拇?,影響首開的體驗(yàn)。
解決方法是,將引用的外部js、css文件剝離開來,不編譯到vendor.js中,而是用資源的形式引用,這樣瀏覽器可以使用多個(gè)線程異步將vendor.js、外部的js等加載下來,達(dá)到加速首開的目的。
外部的庫文件,可以使用CDN資源,或者別的服務(wù)器資源等。
下面,以引入vue、vuex、vue-router為例,說明處理流程。
一、資源引入
在index.html中,添加CDN資源,例如bootstrap:
<body> <div id="app"></div> <script src="https://cdn.bootcss.com/vue/2.5.2/vue.min.js"></script> <script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script> <script src="https://cdn.bootcss.com/vuex/3.0.1/vuex.min.js"></script> </body>
二、添加配置
在bulid/webpack.base.conf.js文件中,增加externals,將引用的外部模塊導(dǎo)入,如下:
module.exports = {
entry: {
app: './src/main.js'
},
externals:{
'vue': 'Vue',
'vue-router': 'VueRouter',
'vuex':'Vuex'
}
注意一點(diǎn):
格式為 'aaa' : 'bbb', 其中,aaa表示要引入的資源的名字,bbb表示該模塊提供給外部引用的名字,由對(duì)應(yīng)的庫自定。例如,vue為Vue,vue-router為VueRouter.
三、去掉原有的引用
去掉import,如:
// import Vue from 'vue' // import Router from 'vue-router'
去掉Vue.use(XXX),如:
// Vue.use(Router)
測(cè)試
重新npm run build,會(huì)看到 vendor.js體積有所下降了。通過開發(fā)者模式的Network工具,可以看到vue.js、vuex.js、vendor.js等文件會(huì)分別由一個(gè)線程進(jìn)行加載。且因?yàn)槭褂昧薈DN,加載速度比自已的服務(wù)器更快。
總結(jié)
相關(guān)文章
vuejs使用axios異步訪問時(shí)用get和post的實(shí)例講解
今天小編就為大家分享一篇vuejs使用axios異步訪問時(shí)用get和post的實(shí)例講解,具有很好的參考價(jià)值。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
詳解nginx配置vue h5 history去除#號(hào)
這篇文章主要介紹了詳解nginx配置vue h5 history去除#號(hào),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
關(guān)于Vue的?Vuex的4個(gè)輔助函數(shù)
這篇文章主要介紹了關(guān)于Vue的?Vuex的4個(gè)輔助函數(shù),輔助函數(shù)的好處就是幫助我們簡(jiǎn)化了獲取store中state、getter、mutation和action,下面我們一起來看看文章具體的舉例說明吧,需要的小伙伴也可以參考一下2021-12-12
VueUse功能精簡(jiǎn)你的dependencies
這篇文章主要為大家介紹了VueUse功能精簡(jiǎn)你的dependencies實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
詳解如何在Vue中快速實(shí)現(xiàn)數(shù)據(jù)可視化大屏展示
在現(xiàn)代數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序中,數(shù)據(jù)可視化大屏已經(jīng)成為了非常重要的一環(huán),通過對(duì)海量數(shù)據(jù)進(jìn)行可視化展示,可以幫助用戶更好地理解和分析數(shù)據(jù),從而做出更加明智的決策,在Vue中進(jìn)行數(shù)據(jù)可視化大屏展示也變得越來越流行,本文將介紹如何在Vue中快速實(shí)現(xiàn)數(shù)據(jù)可視化大屏展示2023-10-10

