vue項目優化方案

一、路由不少的複雜頁面,路由懶加載css

—使用const Foo = () => import('./Foo.vue')代替import './Foo.vue';html

二、外部庫有提供按需加載的功能,能夠按照官方文檔的作法來按需加載vue

三、開啓Gzip壓縮webpack

四、頁面渲染優化(減小重排),組件優化、基礎優化(js、css),圖片優化web

—vue官網中的規範須要遵循;vuex

—按模塊劃分路由。按照業務模塊劃分路由及子路由,按照功能或交互稿或視覺稿劃分組件模塊;瀏覽器

—提取共用的方法、共用的樣式、共用的狀態;緩存

—使用字體圖標代替純色或漸變色的圖標,如使用icomoon;網絡

—圖片懶加載--到可視區域再加載;echarts

—v-if,v-show的選擇。權限相關使用v-if、頻繁切換使用v-show、不頻繁切換使用v-if;

—style中使用<style scoped>避免衝突,全局style儘可能抽象,提升複用率,減少css文件大小,節省帶寬;

—根據頁面複雜度,刪除部分頁面生命週期created中的window.setTimeout方法;

五、網絡請求優化

一般會選擇對 http 請求的方法進行二次封裝,以便增長統一的攔截器,或者統一處理阻止重複提交之類的邏輯;

—合理使用vuex,頻繁切換的頁面組件好比多個編輯頁面,保存多個數據store,減小http請求;

六、合理使用緩存

—合理設置HTTP緩存。從圖1 瀏覽器請求處理流程圖中能夠看出,恰當的緩存設置能夠大大減小HTTP請求,節省帶寬。

如不多變化的資源(html、css、js、圖片等)經過 HTTP Header中的cache-control和Expires可設定瀏覽器緩存,變化不頻繁又可能變的資源使用Last-Modifed來作請求驗證;

 

七、打包優化

webpack提供的externals能夠配合外部資源CDN輕鬆大幅度減小打包體積,適用於echartsjQuerylodash這種暴露了一個全局變量的庫;

—生產環境採用webpack-parallel-uglify-plugin,進行壓縮;

相關文章
相關標籤/搜索