Vue 優化

一、vue代碼層面

1、路由懶加載

當打包構建應用時,Javascript 包會變得非常大,影響頁面加載。如果我們能把不同路由對應的組件分割成不同的代碼塊,然後當路由被訪問的時候才加載對應組件,這樣就更加高效了。

2、代碼模塊化

咱們可以把很多常用的地方封裝成單獨的組件,在需要用到的地方引用,而不是寫過多重複的代碼,每一個組件都要明確含義,複用性越高越好,可配置型越強越好,包括咱們的css也可以通過less和sass的自定義css變量來減少重複代碼。

3、for循環設置key值

在用v-for進行數據遍歷渲染的時候,爲每一項都設置唯一的key值,爲了讓Vue內部核心代碼能更快地找到該條數據,當舊值和新值去對比的時候,可以更快的定位到diff。

4、更加理解Vue的生命週期

vue組件銷燬時,會自動解綁他的全部指令及時間監聽器,但是僅限於時間本身的事件,定時器的銷燬需要手動去除

不要造成內部泄漏,使用過後的全局變量在組件銷燬後重新置爲null

5、可以使用keep-alive

keep-alive是Vue提供的一個比較抽象的組件,用來對組件進行緩存,從而節省性能。

6、節流防抖

7、圖片的懶加載

使用vue-lazyload庫

8、無狀態的組件標記爲函數式組件

可以提高性能,減少內存的消耗

<template functional>

</template>

 

9、合理利用計算屬性的依賴緩存

二、打包層面

查看打包文件結構 和 各種文件的比例

這裏推薦使用 webpack-bundle-analyzer,通過她可以查看打包文件的模塊組成,找出不和時宜的存在,然後優化她。

首先 npm install --save-dev webpack-bundle-analyzer
然後運行 npm run build --report 命令會自動打包,並彈出網頁(包含打包文件圖)

這裏是因爲 webpack-bundle-analyzer 的配置 vue-cli(2.0)已經幫你配置好了,傳入一個report參數 就可以啓動了

1使用cdn的方式外部加載一些資源

比如vue-router、axios等Vue的周邊插件,在webpack.config.js裏面,externals裏面設置一些不必要打包的外部引用模塊。然後在入門文件index.html裏面通過cdn的方式去引入需要的插件

   externals: {
        'vue': 'Vue',
        'vue-router': 'VueRouter',
        'vuex': 'Vuex',
        'axios': 'axios',
    }

2、不讓css打包在一起(讓css文件和單文件打包在一起)

默認css會打包到一個css 裏面,一個就太大了
所以 在 webpack.prod.conf.js 裏面把所有塊打包在一起設置爲false

allChunks: false,

3、不生成.map文件

webpack默認會生成map文件,map文件是用來調試代碼的,把productionSourceMap設置爲false。此外,這裏還要注意sourcemap的配置分 開發(dev)和線上(build)兩個地方配置,開發我們就不管了,就用默認的,線上我們是不需要這個代碼的。

4、減少圖片使用

因爲對於網頁來說,圖片會佔用很大一部分體積,所以,優化圖片的操作可以有效的來加快加載速度。可以用一些css3的效果來代替圖片效果,或者使用雪碧圖來減少圖片的體積。

5、按需引入

咱們使用的一些第三方庫可以通過按需引入的方式加載。避免引入不需要使用的部分,無端增加項目體積。比如在使用element-ui庫的時候,包括loadsh等工具庫可以只引入需要用到的組件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章