vue面試題之vue專案的優化方案

時光_靜好發表於2019-10-23

1. vue中專案優化:

路過的朋友,可以點個贊,關注一下~~~

1.1 書寫習慣

  1. 不需要做響應式的資料,不要放在data中

不要把所有的資料都放到data中,只把你需要做響應式的資料放到data中。如果一個資料放到了data中,vue會給這個資料新增一個getter和setter,當你獲取資料呼叫getter,當你設定資料呼叫setter,效能不高。

  1. SPA(Single Page Application)

單一頁面,不利於SEO的搜尋,主頁可以使用伺服器渲染。

  1. 能拆分的元件儘可能拆分 顆粒度儘可能小

提高利用性,增加程式碼的可維護性; 減小不必要渲染

  1. 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機制會將其判斷為資料的改變,而進行重新渲染。)

  1. Object.freeze

也會實現資料劫持,將資料進行凍結 一個被凍結的物件再也不能被修改;凍結了一個物件則不能向這個物件新增新的屬性,不能刪除已有屬性,不能修改該物件已有屬性的可列舉性、可配置性、可寫性,以及不能修改已有屬性的值。此外,凍結一個物件後該物件的原型也不能被修改。

  1. 路由懶載入

在使用該路由的時候,再進行匯入該路由。

  1. 元件懶載入

在一開始的時候不需要進行匯入元件,當匹配到路由時,需要載入元件的時候,再將元件進行載入 components:{ yyy: () => import(yyy) }

1.2第二類:載入

  • 圖片賴載入,需要的時候再進行請求載入。
  • 第三方模組按需匯入,在使用第三方外掛的時候,並不是使用裡面的所有的方法,我們可以按需匯入,使用到那個便將那個進行匯入

1.3 第三類:提升使用者體驗

  1. 使用骨架屏,當使用者的網路不好的時候,傳送請求時,頁面上顯示大致的應用的框架,增加使用者的體驗感。

  2. pwa 快取

當使用弱網,2G,3G網的時候,可以將內容進行快取

1.3 第四類: SEO

可以使用伺服器端渲染主頁面,方便seo進行資料的爬取

如果網路環境非常不好,可能出來白屏 預渲染成 死資料 <div id="app">heelo</div> 通過外掛來實現 SSR

1.4 第五類:從後端角度來優化

  • 快取
  • 壓縮

相關文章