亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談vue加載優(yōu)化策略

 更新時間:2019年03月19日 10:55:35   作者:Vadim  
這篇文章主要介紹了淺談vue加載優(yōu)化策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

vue.js是一個比較流行的前端框架,與react.js、angular.js相比來說,vue.js入手曲線更加流暢,不管掌握多少都可以快速上手。但是單頁面應(yīng)用也都有其弊病,有時候首屏加載慢的讓人捏舌。今天我們以vue cli3.x來說一說如何行之有效的緩解此問題!

方法一 路由懶加載

首屏加載慢的原因無非就是單頁面應(yīng)用需要加載完整個路由表上的頁面,而路由懶加載就是來解決這個問題的。如果我們能把不同路由對應(yīng)的組件分割成不同的代碼塊,然后當(dāng)路由被訪問的時候才加載對應(yīng)組件,這樣就更加高效了。下面這個就是vue路由懶加載的一個具體例子。方法很簡單,如果您不想深入了解,只需按照這個格式引入路由就可以了。如果您對路由懶加載感興趣,請移步vue-router路由懶加載

方法二 組件按需加載

為什么要按需加載組件呢?原因也很簡單,一些組件庫包含豐富的組件,如果我們直接將其引入,不免會引入一些我們壓根用不到的組件。這樣打包起來體積會比較大,同樣顯得我們很不專業(yè)。因此按需引入就顯得很必要了。我們現(xiàn)在就拿iview組件庫為例,了解一下按需引入的流程。

1.首先引入按需加載工具 babel-plugin-import

babel-plugin-import是babel它會在編譯過程中將 import 的寫法自動轉(zhuǎn)換為按需引入的方式。

npm install babel-plugin-import --save-dev

2.在項目根目錄創(chuàng)建.babelrc文件并配置按需加載內(nèi)容

{
 "plugins": [["import", {
  "libraryName": "iview",
  "libraryDirectory": "src/components"
 }]]
}

3.在main.js配置項目需要加載的組件

下面是iview的一個例子

這里需要注意全局注冊的組件需要掛在到vue原型上,例如我們需要使用Notice組件,那我就需要

Vue.prototype.$Notice = Notice;

這樣我們就可以正常的使用iview的組件了。

方法三 使用CDN加速策略

在Vue項目中,引入到工程中的所有js、css文件,編譯時都會被打包進(jìn)vendor.js,那么vendor.js文件體積將會相當(dāng)?shù)拇?,影響首開的體驗。解決方法是,將引用的外部js、css文件剝離開來,不編譯到vendor.js中,而是用資源的形式引用,這樣瀏覽器可以使用多個線程異步將vendor.js、外部的js等加載下來,達(dá)到加速首開的目的。外部的庫文件,就可以使用CDN資源。vue cli3.x在配置cdn是和vue cli2.x有一些區(qū)別,vue cli在升級后,代碼結(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這個依賴在npm run build是會生成.gz文件。之后項目訪問的文件就是這個.gz文件,正常的項目打包體積會減少一半還要多,是不是很吊

下面我們來進(jìn)一步講述這個這個依賴的使用流程。

1.npm 引入

npm install compression-webpack-plugin --save-dev

2.vue cli3.x在 vue.config.js配置webpack

3.nginx開啟gzip模式

在上一步前端就已經(jīng)配置好了,之后就是nginx配合開啟gzip模式,這個比較簡單,只要你對nginx有一點了解,我們在nginx.conf中的http中配置一些代碼

4.驗證是否配置成功

這步就很簡單了只需要查看chunk類文件的Response Headers的Content-Encoding是否是gzip即可

以上就是解決vue首屏加載慢的一些方法,希望文章能幫助大家解決問題謝謝。也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Vue.js開發(fā)微信小程序開源框架mpvue解析

    使用Vue.js開發(fā)微信小程序開源框架mpvue解析

    這篇文章主要介紹了使用Vue.js開發(fā)微信小程序開源框架mpvue解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Vue實現(xiàn)購物車基本功能

    Vue實現(xiàn)購物車基本功能

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)購物車的基本功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • vue項目中如何使用TypeScript相關(guān)配置

    vue項目中如何使用TypeScript相關(guān)配置

    這篇文章主要給大家介紹了關(guān)于vue項目中如何使用TypeScript相關(guān)配置的相關(guān)資料,typescript在開發(fā)過程中廣泛被應(yīng)用,在這里總結(jié)下項目中ts的應(yīng)用,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Vue之Watcher源碼解析(2)

    Vue之Watcher源碼解析(2)

    這篇文章主要為大家詳細(xì)介紹了Vue源碼之Watcher的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Vue項目通過vue-i18n實現(xiàn)國際化方案(推薦)

    Vue項目通過vue-i18n實現(xiàn)國際化方案(推薦)

    這篇文章主要介紹了Vue項目通過vue-i18n實現(xiàn)國際化方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • vue父組件值變化但子組件不刷新的三種解決方案

    vue父組件值變化但子組件不刷新的三種解決方案

    父組件傳遞給子組件的數(shù)據(jù),如果是一個復(fù)雜對象(例如一個數(shù)組或?qū)ο螅?那么子組件只會監(jiān)聽對象的引用而不是對象的內(nèi)容,這意味著當(dāng)對象的內(nèi)容發(fā)生變化時,子組件不會更新,本文給大家介紹了vue子組件不刷新的三種解決方案,需要的朋友可以參考下
    2024-03-03
  • vue中使用jeecg進(jìn)行前后端聯(lián)調(diào)方式

    vue中使用jeecg進(jìn)行前后端聯(lián)調(diào)方式

    這篇文章主要介紹了vue中使用jeecg進(jìn)行前后端聯(lián)調(diào)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn)

    Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn)

    這篇文章主要介紹了Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 使用vue-router切換組件時使組件不銷毀問題

    使用vue-router切換組件時使組件不銷毀問題

    這篇文章主要介紹了使用vue-router切換組件時使組件不銷毀問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue+axios封裝請求實現(xiàn)前后端分離

    Vue+axios封裝請求實現(xiàn)前后端分離

    這篇文章主要為大家詳細(xì)介紹了Vue+axios封裝請求實現(xiàn)前后端分離,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10

最新評論