圖片加載優化
- 很多修飾類圖片完全可以用css代替
- 對于移動端來說,很多圖片都可以用CDN加載
- 小圖使用base64格式
- 使用雪碧圖
- 能夠顯示WebP格式的瀏覽器盡量使用WebP格式。因為WebP格式具有更好的圖像數據壓縮算法,能帶來更小的圖片體積,而且擁有肉眼識別無差異的圖像質量,缺點就是兼容性不好
- 圖標盡量用SVG格式
DNS預解析
DNS解析也需要時間,可以用預解析來預先獲得域名所對應的IP
<link rel = "dns-prefetch" href="yuchengkai.cn">
CDN
盡量用CDN加載靜態資源,同時因為瀏覽器對于單個域名有并發請求上限,可以考慮使用多個CDN域名
懶加載
懶加載就是將不關鍵的資源延后加載
懶加載的原理就是只加載自定義區域(通常是可視區域,也可以是即將進入可視區域)內需要加載的東西。對于圖片來說,先設置圖片標簽的src屬性為一張占位圖,將真實的圖片資源放入一個自定義屬性中,當進入自定義區域時,就將自定義屬性替換為src屬性,這樣圖片就會去下載資源,實現了圖片懶加載
懶加載不僅可以用于圖片,也可以使用在別的資源上,比如進入可視區域才開始播放視頻
懶執行
懶執行就是將某些邏輯延遲到使用時再計算。該技術可以用于首屏優化,對于某些耗時邏輯并不需要再首屏就使用的,就可以使用懶執行。懶執行需要喚醒,一般可以通過定時器或者事件的調用來喚醒
預渲染
可以通過預渲染將下載的文件預先在后臺渲染
<link rel="prerender" href="http://example.com">
預渲染雖然可以提高頁面的加載速度,但是要確保該頁面大概率會被用戶在之后打開,否則就是白白浪費資源去渲染
節流
例如滾動會發送網絡請求,但我們并不希望用戶在滾動過程中一直發送請求,而是每隔一段時間發起一次,對于這種情況就可以使用節流
防抖
例如某個按鈕點擊會觸發網絡請求,但是我們并序希望每次點擊都發送網絡請求,而是用戶點擊按鈕一段時間后再次點擊的情況才會去發送網絡請求,對于這種情況我們就可以使用防抖。