關(guān)于vue項目打包上線后的首屏加速

首屏加速——CDN

? ? 先了解一下,什么是CDN?(了解即可)

? ??全稱:Content Delivery Network或Content Ddistribute Network,即內(nèi)容分發(fā)網(wǎng)絡,

? ? ?目的:解決因分布、帶寬、服務器性能帶來的訪問延遲問題,適用于站點加速、點播、直播等場景。使用戶可就近取得所需內(nèi)容,解決 Internet網(wǎng)絡擁擠的狀況,提高用戶訪問網(wǎng)站的響應速度和成功率。

? ? ?在項目中CDN的原理(也是自己了解)~

? ? ? ? 作為一個網(wǎng)站應用,加載速度是非常重要的。加載速度,一個是程序的合理安排,如以組件按需加載,一個是js、css等資源的異步加載。

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

????????解決方法是,將引用的外部js、css文件剝離開來,不編譯到vendor.js中,而是用資源的形式引用,這樣瀏覽器可以使用多個線程異步將vendor.js、外部的js等加載下來,達到加速首開的目的。

????????外部的庫文件,可以使用CDN資源,或者別的服務器資源等。

常用的使用方式(****)

? ??一、資源引入

? ? ?????在index.html中,添加CDN資源,例如:

? <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>

? ??二、添加配置

? ??????在bulid/webpack.base.conf.js文件中,增加externals,將引用的外部模塊導入,如下:

module.exports = {

?????????entry: {

??????????????????app:?'./src/main.js'

?????????},

?????????externals:{

??????????????????'vue':?'Vue',

??????????????????'vue-router':?'VueRouter',

??????????????????'vuex':'Vuex'

?????????????}

? ??????注意一點:

????????格式為 'aaa' : 'bbb', 其中,aaa表示要引入的資源的名字,bbb表示該模塊提供給外部引用的名字,由對應的庫自定。例如,vue為Vue,vue-router為VueRouter.

? ??三、去掉原有的引用

? ??????去掉import,如:

????????// import Vue from 'vue'

????????// import Router from 'vue-router'

????????去掉Vue.use(XXX),如:

????????// Vue.use(Router)

首屏加速——路由懶加載

? ? 路由懶加載,例:



? ? 組件懶加載,在vue實例中組件引入的時候添加。例:



? ? 全局懶加載,在項目中的mian.js中添加。例:



首屏加速——圖片懶加載

? ??VUE圖片懶加載-vue lazyload插件的簡單使用

????一. vue lazyload插件:

????????插件地址:https://github.com/hilongjw/vue-lazyload

????二.使用實例

????1.安裝

????????npm install vue-lazyload --save-dev

????2.main.js 引入插件

????????import VueLazyLoad from 'vue-lazyload'

????????Vue.use(VueLazyLoad,{

????????????error:require('./statics/site/imgs/erro.jpg'),

? ? ? ? ????loading:require('./statics/site/imgs/load.gif')

????????})

// 這里還需要加上一個 require?

????3.Vue文件中將需要懶加載的圖片綁定 v-bind:src 修改為 v-lazy

<img class="item-pic" v-lazy="newItem.picUrl"/>


三.功能擴展

????????圖片懶加載的簡單效果已經(jīng)實現(xiàn)了,然后就可以按這開發(fā)文檔的api進行擴展了:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 羊奶子基本信息:藍靛果忍冬,又名羊奶子、黑瞎子果、山茄子、藍果,屬忍冬科,忍冬屬。 形態(tài)結(jié)構(gòu)和生活習性 灌木,高約...
    富硒特產(chǎn)閱讀 1,266評論 0 0
  • 在我們?nèi)粘I钪?,塑料袋的使用越來越廣泛,不但用其包裝生活用品,許多人還會用塑料袋來裝食品,這時我們就該分清楚那一...
    老山大夫閱讀 577評論 0 1
  • Zookeeper 協(xié)議 簡介:分布式協(xié)調(diào)服務,提供諸如統(tǒng)一命名、配置管理等基礎服務越來越多的分布式應用面臨數(shù)據(jù)一...
    孫闊閱讀 738評論 0 0
  • 我和松是在我上班的地方認識的,他是老板的朋友,第一次見到他時,根本看不出他是一個差不多五十的人,看著就像正值三...
    隨緣是福_ef36閱讀 216評論 0 0
  • 傅家艷芳與兄弟 大嫂二嫂和三嫂 盛意邀請摘枇杷 周日驅(qū)車齊報到 庭前枇杷壓枝頭 兄弟摘果往下拋 吃在嘴裏甜在心 潤...
    大蓮子閱讀 584評論 0 0

友情鏈接更多精彩內(nèi)容