1. vue中專案優化:
路過的朋友,可以點個贊,關注一下~~~
1.1 書寫習慣
- 不需要做響應式的資料,不要放在data中
不要把所有的資料都放到data中,只把你需要做響應式的資料放到data中。如果一個資料放到了data中,vue會給這個資料新增一個getter和setter,當你獲取資料呼叫getter,當你設定資料呼叫setter,效能不高。
- SPA(Single Page Application)
單一頁面,不利於SEO的搜尋,主頁可以使用伺服器渲染。
- 能拆分的元件儘可能拆分 顆粒度儘可能小
提高利用性,增加程式碼的可維護性; 減小不必要渲染
- v-if v-show
- v-show 控制的是display v-show還是會渲染
- v-if 根據就不會渲染
- 能使用v-if的就使用v-if
- 如果說頻繁讓一個元件顯示隱藏,用v-show
- 如果不頻繁讓一個元件顯示隱藏,用v-if
5,使用v-for時,必須加上key
儘可能使用id作為key 減少不必渲染 一般情況下,不要使用index作為key (例如,當進行排序的時候,資料的key值發生了改變,而vue機制會將其判斷為資料的改變,而進行重新渲染。)
- Object.freeze
也會實現資料劫持,將資料進行凍結 一個被凍結的物件再也不能被修改;凍結了一個物件則不能向這個物件新增新的屬性,不能刪除已有屬性,不能修改該物件已有屬性的可列舉性、可配置性、可寫性,以及不能修改已有屬性的值。此外,凍結一個物件後該物件的原型也不能被修改。
- 路由懶載入
在使用該路由的時候,再進行匯入該路由。
- 元件懶載入
在一開始的時候不需要進行匯入元件,當匹配到路由時,需要載入元件的時候,再將元件進行載入 components:{ yyy: () => import(yyy) }
1.2第二類:載入
- 圖片賴載入,需要的時候再進行請求載入。
- 第三方模組按需匯入,在使用第三方外掛的時候,並不是使用裡面的所有的方法,我們可以按需匯入,使用到那個便將那個進行匯入
1.3 第三類:提升使用者體驗
-
使用骨架屏,當使用者的網路不好的時候,傳送請求時,頁面上顯示大致的應用的框架,增加使用者的體驗感。
-
pwa 快取
當使用弱網,2G,3G網的時候,可以將內容進行快取
1.3 第四類: SEO
可以使用伺服器端渲染主頁面,方便seo進行資料的爬取
如果網路環境非常不好,可能出來白屏 預渲染成 死資料
<div id="app">heelo</div>
通過外掛來實現 SSR
1.4 第五類:從後端角度來優化
- 快取
- 壓縮