欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue項(xiàng)目使用CDN優(yōu)化首屏加載問題

 更新時(shí)間:2018年04月01日 09:09:06   作者:Fordestiny  
這篇文章主要介紹了Vue項(xiàng)目使用CDN優(yōu)化首屏加載問題,本文以vue、vuex、vue-touter為例,給大家介紹處理流程,需要的朋友可以參考下

前言

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

在Vue項(xiàng)目中,引入到工程中的所有js、css文件,編譯時(shí)都會(huì)被打包進(jìn)vendor.js,瀏覽器在加載該文件之后才能開始顯示首屏。若是引入的庫(kù)眾多,那么vendor.js文件體積將會(huì)相當(dāng)?shù)拇?,影響首開的體驗(yàn)。

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

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

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

module.exports = {
 entry: {
  app: './src/main.js'
 },
 externals:{
  'vue': 'Vue',
  'vue-router': 'VueRouter',
  'vuex':'Vuex'
 }

注意一點(diǎn):

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

三、去掉原有的引用

去掉import,如:

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

去掉Vue.use(XXX),如:

// Vue.use(Router)

測(cè)試

重新npm run build,會(huì)看到 vendor.js體積有所下降了。通過開發(fā)者模式的Network工具,可以看到vue.js、vuex.js、vendor.js等文件會(huì)分別由一個(gè)線程進(jìn)行加載。且因?yàn)槭褂昧薈DN,加載速度比自已的服務(wù)器更快。

總結(jié)

相關(guān)文章

最新評(píng)論