您好,登錄后才能下訂單哦!
這篇文章主要介紹了vue中加載優化策略有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
方法一 路由懶加載
首屏加載慢的原因無非就是單頁面應用需要加載完整個路由表上的頁面,而路由懶加載就是來解決這個問題的。如果我們能把不同路由對應的組件分割成不同的代碼塊,然后當路由被訪問的時候才加載對應組件,這樣就更加高效了。下面這個就是vue路由懶加載的一個具體例子。方法很簡單,如果您不想深入了解,只需按照這個格式引入路由就可以了。如果您對路由懶加載感興趣,請移步vue-router路由懶加載
方法二 組件按需加載
為什么要按需加載組件呢?原因也很簡單,一些組件庫包含豐富的組件,如果我們直接將其引入,不免會引入一些我們壓根用不到的組件。這樣打包起來體積會比較大,同樣顯得我們很不專業。因此按需引入就顯得很必要了。我們現在就拿iview組件庫為例,了解一下按需引入的流程。
1.首先引入按需加載工具 babel-plugin-import
babel-plugin-import是babel它會在編譯過程中將 import 的寫法自動轉換為按需引入的方式。
npm install babel-plugin-import --save-dev
2.在項目根目錄創建.babelrc文件并配置按需加載內容
{ "plugins": [["import", { "libraryName": "iview", "libraryDirectory": "src/components" }]] }
3.在main.js配置項目需要加載的組件
下面是iview的一個例子
這里需要注意全局注冊的組件需要掛在到vue原型上,例如我們需要使用Notice組件,那我就需要
Vue.prototype.$Notice = Notice;
這樣我們就可以正常的使用iview的組件了。
方法三 使用CDN加速策略
在Vue項目中,引入到工程中的所有js、css文件,編譯時都會被打包進vendor.js,那么vendor.js文件體積將會相當的大,影響首開的體驗。解決方法是,將引用的外部js、css文件剝離開來,不編譯到vendor.js中,而是用資源的形式引用,這樣瀏覽器可以使用多個線程異步將vendor.js、外部的js等加載下來,達到加速首開的目的。外部的庫文件,就可以使用CDN資源。vue cli3.x在配置cdn是和vue cli2.x有一些區別,vue cli在升級后,代碼結構變化比較大,配置文件集成到了vue.config.js文件中。下面以amap、axios和qs為例講述如何使用cdn加載資源。
1.在index.html中引入相關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文件,正常的項目打包體積會減少一半還要多,是不是很吊
下面我們來進一步講述這個這個依賴的使用流程。
1.npm 引入
npm install compression-webpack-plugin --save-dev
2.vue cli3.x在 vue.config.js配置webpack
3.nginx開啟gzip模式
在上一步前端就已經配置好了,之后就是nginx配合開啟gzip模式,這個比較簡單,只要你對nginx有一點了解,我們在nginx.conf中的http中配置一些代碼
4.驗證是否配置成功
這步就很簡單了只需要查看chunk類文件的Response Headers的Content-Encoding是否是gzip即可
感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue中加載優化策略有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。