您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)vue中4個(gè)好用的加載優(yōu)化策略的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
vue加載優(yōu)化策略:1、路由懶加載;2、組件按需加載;3、使用CDN加速策略;4、使用【compression-webpack-plugin】將文件打包成gzip格式。
vue加載優(yōu)化策略:
方法一、路由懶加載
首屏加載慢的原因無非就是單頁面應(yīng)用需要加載完整個(gè)路由表上的頁面,而路由懶加載就是來解決這個(gè)問題的。如果我們能把不同路由對(duì)應(yīng)的組件分割成不同的代碼塊,然后當(dāng)路由被訪問的時(shí)候才加載對(duì)應(yīng)組件,這樣就更加高效了。下面這個(gè)就是vue路由懶加載的一個(gè)具體例子。方法很簡(jiǎn)單,如果您不想深入了解,只需按照這個(gè)格式引入路由就可以了。如果您對(duì)路由懶加載感興趣,請(qǐng)移步vue-router路由懶加載
方法二、組件按需加載
為什么要按需加載組件呢?原因也很簡(jiǎn)單,一些組件庫包含豐富的組件,如果我們直接將其引入,不免會(huì)引入一些我們壓根用不到的組件。這樣打包起來體積會(huì)比較大,同樣顯得我們很不專業(yè)。因此按需引入就顯得很必要了。我們現(xiàn)在就拿iview組件庫為例,了解一下按需引入的流程。
1.首先引入按需加載工具 babel-plugin-import
babel-plugin-import是babel它會(huì)在編譯過程中將 import 的寫法自動(dòng)轉(zhuǎn)換為按需引入的方式。
npm install babel-plugin-import --save-dev
2.在項(xiàng)目根目錄創(chuàng)建.babelrc文件并配置按需加載內(nèi)容
{ "plugins": [["import", { "libraryName": "iview", "libraryDirectory": "src/components" }]] }
3.在main.js配置項(xiàng)目需要加載的組件
下面是iview的一個(gè)例子
這里需要注意全局注冊(cè)的組件需要掛在到vue原型上,例如我們需要使用Notice組件,那我就需要
Vue.prototype.$Notice = Notice;
這樣我們就可以正常的使用iview的組件了。
方法三、使用CDN加速策略
在Vue項(xiàng)目中,引入到工程中的所有js、css文件,編譯時(shí)都會(huì)被打包進(jìn)vendor.js,那么vendor.js文件體積將會(huì)相當(dāng)?shù)拇?,影響首開的體驗(yàn)。解決方法是,將引用的外部js、css文件剝離開來,不編譯到vendor.js中,而是用資源的形式引用,這樣瀏覽器可以使用多個(gè)線程異步將vendor.js、外部的js等加載下來,達(dá)到加速首開的目的。外部的庫文件,就可以使用CDN資源。vue cli3.x在配置cdn是和vue cli2.x有一些區(qū)別,vue cli在升級(jí)后,代碼結(jié)構(gòu)變化比較大,配置文件集成到了vue.config.js文件中。下面以amap、axios和qs為例講述如何使用cdn加載資源。
1.在index.html中引入相關(guān)cdn資源
2.配置externals
vue cli3.x 配置webpack是在vue.config.js的configureWebpack中
配置完之后,我們就可以正常使用全局的Amap、axios和Qs了
方法四、使用compression-webpack-plugin將文件打包成gzip格式
compression-webpack-plugin這個(gè)依賴在npm run build是會(huì)生成.gz文件。之后項(xiàng)目訪問的文件就是這個(gè).gz文件,正常的項(xiàng)目打包體積會(huì)減少一半還要多,是不是很吊
下面我們來進(jìn)一步講述這個(gè)這個(gè)依賴的使用流程。
1.npm 引入
npm install compression-webpack-plugin --save-dev
2.vue cli3.x在 vue.config.js配置webpack
3.nginx開啟gzip模式
在上一步前端就已經(jīng)配置好了,之后就是nginx配合開啟gzip模式,這個(gè)比較簡(jiǎn)單,只要你對(duì)nginx有一點(diǎn)了解,我們?cè)趎ginx.conf中的http中配置一些代碼
4.驗(yàn)證是否配置成功
這步就很簡(jiǎn)單了只需要查看chunk類文件的Response Headers的Content-Encoding是否是gzip即可
感謝各位的閱讀!關(guān)于“vue中4個(gè)好用的加載優(yōu)化策略”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。