vue載入最佳化策略:1、路由懶載入;2、元件按需載入;3、使用CDN加速策略;4、使用【compression-webpack-plugin】將檔案打包成gzip格式。
【相關文章推薦:vue.js】
vue載入最佳化策略:
方法一、路由懶載入
首屏載入慢的原因無非就是單頁應用需要載入完整個路由表上的頁面,而路由懶加載就是來解決這個問題的。如果我們能把不同路由對應的元件分割成不同的程式碼區塊,然後當路由被存取的時候才載入對應元件,這樣就更有效率了。下面這個就是vue路由懶載入的一個具體例子。方法很簡單,如果您不想深入了解,只需按照這個格式引入路由就可以了。如果您對路由懶載入有興趣,請移步vue-router路由懶載入
#方法二、元件按需載入
為什麼要按需載入元件呢?原因也很簡單,有些元件庫包含豐富的元件,如果我們直接將其引入,不免會引入一些我們壓根用不到的元件。這樣打包起來體積會比較大,同樣顯得我們很不專業。因此按需引入就顯得很必要了。我們現在就拿iview元件庫為例,了解一下按需引入的流程。 1.首先引入按需載入工具babel-plugin-import babel-plugin-import是babel它會在編譯過程中將import 的寫法自動轉換為按需引入的方式。npm install babel-plugin-import --save-dev2.在專案根目錄建立.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.設定externalsvue 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-dev2.vue cli3.x在vue.config.js設定webpack
##3.nginx開啟gzip模式
在上一步前端就已經配置好了,之後就是nginx配合開啟gzip模式,這個比較簡單,只要你對nginx有一點了解,我們在nginx.conf中的http中配置一些程式碼
4.驗證是否配置成功
### 這一步就很簡單了只需要查看chunk類別檔案的Response Headers的Content-Encoding是否是gzip即可###相關免費學習推薦:JavaScript(影片)
以上是vue載入最佳化策略有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!