客戶端性能優化總結

客戶端性能優化總結

  1. js腳本後置,css腳本前置
    css前置的目的是爲了讓瀏覽器儘快渲染頁面,避免讓用戶長時間盯着白屏等待。
    在這裏插入圖片描述
  2. 減少文件體積
    (1)刪除js和css的註釋(生產環境下注釋是沒用的)
    (2)壓縮圖片體積(網頁中的圖片能看清就可以,不需要高清,如需要高清使用線上圖片地址)
  3. 壓縮文件(在代碼發佈到生產環境時進行壓縮,或在服務器上進行gzip壓縮,會大大降低網絡傳輸耗時,但不能壓縮圖片)
  4. 雪碧圖(吧多個小圖片合成一張大圖,減少網絡請求)
  5. 儘量少用圖片(能用字體圖標icon的就用圖標)
  6. 合併多個文件(減少網絡請求)
  7. 避免重繪和重排
    當DOM的變化引發了元素幾何屬性的變化,比如改變元素的寬高,元素的位置,導致瀏覽器不得不重新計算元素的幾何屬性,並重新構建渲染樹,這個過程稱爲“重排”。完成重排後,要將重新構建的渲染樹渲染到屏幕上,這個過程就是“重繪”。
    (1)img標籤未設置寬高,瀏覽器渲染時不知道圖片的寬高,等圖片下載完之後得到圖片的具體尺寸還要重新再渲染一遍
    (2)增加,刪除,顯示,隱藏dom元素
  8. 避免404請求
    爲了讓你的網站能在出現這種錯誤的時候,給用戶相對較好一些的用戶體驗,應該設計自定義的404錯誤頁面。
  9. 減少dom元素數量
    除了頁面加載時去掉不顯示的元素, 能用一個元素實現的,不要用兩個。
  10. 異步加載組件
    異步加載組件就是在定義組件的時候什麼都不做,只有當組件第一次使用的時候才進行加載和渲染。
  11. 對基礎數據請求緩存
    像城市,公司等不常變更的數據,直接緩存在瀏覽器中,就不用每次瀏覽器都向服務器請求了。
  12. 靜態資源放到CDN
    靜態資源使用頻率高,流量佔用大。對於有追求(訪問量稍大)的網站,都會把靜態資源放置到CDN服務器,不佔用業務服務器的網絡帶寬,從而達到更好的用戶體驗。
    放在自己web文件夾裏進行加載,如果是你自己在本地訪問的話當然會比cdn更快。
    但如果是把頁面發佈到真正的服務器上,通過網站域名訪問就不一定了。除非你的服務器比cdn的服務器更快。
  13. 避免串行請求(串行請求時間長)
    async/await語法糖,由於使用了await導致前一個請求後纔會請求下一個,無形中延長了請求時間,可使用promise.all()讓兩個請求併發執行
  14. 組件的使用優化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章