国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 14:04:46
字體:
來源:轉載
供稿:網友

前言

作為一個網站應用,加載速度是非常重要的。加載速度,一個是程序的合理安排,如以組件按需加載,一個是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,加載速度比自已的服務器更快。

總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巢湖市| 缙云县| 南宁市| 闻喜县| 通州区| 涿鹿县| 永靖县| 息烽县| 眉山市| 花垣县| 沙洋县| 房产| 安吉县| 古浪县| 苏州市| 龙山县| 万宁市| 广汉市| 佛教| 呼和浩特市| 康定县| 江安县| 南皮县| 泽库县| 夏邑县| 呼伦贝尔市| 宜春市| 鸡西市| 陇南市| 黔江区| 鄂托克旗| 吐鲁番市| 崇左市| 东源县| 隆尧县| 舟山市| 朝阳区| 上林县| 连云港市| 霍邱县| 镇巴县|