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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:20:18
字體:
來源:轉載
供稿:網友

前言

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

總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 宜春市| 南皮县| 石阡县| 陆丰市| 无极县| 北流市| 那坡县| 左权县| 崇阳县| 娄烦县| 东宁县| 马山县| 华池县| 黑山县| 敖汉旗| 五峰| 耿马| 南木林县| 永寿县| 昭通市| 巴楚县| 银川市| 贺兰县| 垦利县| 凉城县| 金山区| 英山县| 姚安县| 乌拉特后旗| 麟游县| 大关县| 咸丰县| 拉孜县| 昌宁县| 梓潼县| 桐乡市| 方城县| 十堰市| 策勒县| 台湾省| 丽江市|