中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue項目使用CDN優化首屏加載問題

發布時間:2020-09-08 15:35:50 來源:腳本之家 閱讀:145 作者:Fordestiny 欄目:web開發

前言

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

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

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

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

下面,以引入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,將引用的外部模塊導入,如下:

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)

測試

重新npm run build,會看到 vendor.js體積有所下降了。通過開發者模式的Network工具,可以看到vue.js、vuex.js、vendor.js等文件會分別由一個線程進行加載。且因為使用了CDN,加載速度比自已的服務器更快。

總結

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖安县| 北票市| 灌云县| 宝坻区| 深泽县| 东光县| 蒲城县| 新津县| 桃江县| 华池县| 惠来县| 游戏| 齐河县| 乡城县| 中西区| 合肥市| 长顺县| 温泉县| 全椒县| 建瓯市| 建始县| 漳浦县| 阳谷县| 卢湾区| 连云港市| 鄂州市| 台州市| 五常市| 赣榆县| 寿阳县| 怀来县| 中宁县| 海口市| 蒲江县| 乌拉特后旗| 莱阳市| 偏关县| 五莲县| 高清| 天长市| 娄底市|