前言
在永年等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,永年網(wǎng)站建設(shè)費(fèi)用合理。
作為一個網(wǎng)站應(yīng)用,加載速度是非常重要的。加載速度,一個是程序的合理安排,如以組件按需加載,一個是js、css等資源的異步加載。
在Vue項目中,引入到工程中的所有js、css文件,編譯時都會被打包進(jìn)vendor.js,瀏覽器在加載該文件之后才能開始顯示首屏。若是引入的庫眾多,那么vendor.js文件體積將會相當(dāng)?shù)拇螅绊懯组_的體驗。
解決方法是,將引用的外部js、css文件剝離開來,不編譯到vendor.js中,而是用資源的形式引用,這樣瀏覽器可以使用多個線程異步將vendor.js、外部的js等加載下來,達(dá)到加速首開的目的。
外部的庫文件,可以使用cdn資源,或者別的服務(wù)器資源等。
下面,以引入vue、vuex、vue-router為例,說明處理流程。
一、資源引入
在index.html中,添加CDN資源,例如bootstrap:
二、添加配置
在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表示該模塊提供給外部引用的名字,由對應(yīng)的庫自定。例如,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體積有所下降了。通過開發(fā)者模式的Network工具,可以看到vue.js、vuex.js、vendor.js等文件會分別由一個線程進(jìn)行加載。且因為使用了CDN,加載速度比自已的服務(wù)器更快。
總結(jié)