国产探花免费观看_亚洲丰满少妇自慰呻吟_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,加載速度比自已的服務器更快。

總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敖汉旗| 南溪县| 潜江市| 丰宁| 永定县| 格尔木市| 噶尔县| 垣曲县| 金坛市| 方正县| 应城市| 鄯善县| 神池县| 通江县| 剑河县| 平安县| 清水县| 门源| 华池县| 阜南县| 五原县| 芦山县| 朝阳区| 新昌县| 新疆| 原阳县| 朝阳市| 丹巴县| 章丘市| 翁源县| 南靖县| 南安市| 漳浦县| 汤原县| 绥棱县| 红原县| 通许县| 永登县| 青冈县| 杭州市| 介休市|