前端效能怎麼優化?從基礎到進階的完整實戰指南

快速解答
前端效能優化聚焦三大面向:載入速度(圖片優化、延遲載入、CDN)、執行效能(高效JavaScript、CSS優化)、Core Web Vitals(LCP、FID、CLS)。從圖片優化和程式码壓縮開始能立即見效。
前端效能優化是現代網頁開發不可忽視的重要環節。根據 Google 的研究,頁面載入時間每增加 1 秒,轉換率就會下降 7%。
本文將分享實務中證實有效的優化策略與技術實作,涵蓋從基礎到進階的完整方法。
效能評估:建立正確的測量基準
在開始優化之前,必須先建立準確的測量方式。主觀感受往往不可靠,需要依賴客觀數據來指導優化方向。
核心效能指標 (Core Web Vitals)
Google 定義的三個關鍵指標:
- LCP (Largest Contentful Paint):最大內容載入時間,理想值 < 2.5 秒
- FID (First Input Delay):首次輸入延遲,理想值 < 100 毫秒
- CLS (Cumulative Layout Shift):累計版面偏移,理想值 < 0.1
⚡ 效能指標即時監測器
圖片資源優化策略
圖片通常佔據網頁總大小的 60-70%,是影響載入速度的關鍵因素。合理的圖片優化能顯著提升頁面效能。
現代圖片格式選擇
格式優先級策略:
<picture>
<source srcset="hero-image.avif" type="image/avif" />
<source srcset="hero-image.webp" type="image/webp" />
<img
src="hero-image.jpg"
alt="首頁橫幅"
loading="lazy"
width="1200"
height="600"
/>
</picture>
格式效能比較:
- AVIF: 最新格式,壓縮率比 JPEG 高 50%,但瀏覽器支援度約 80%
- WebP: 壓縮率比 JPEG 高 25-30%,現代瀏覽器普遍支援
- JPEG/PNG: 通用格式,作為 fallback
🖼️ 圖片格式壓縮率比較
JavaScript 效能優化
JavaScript bundle 的大小直接影響頁面載入速度。以下是有效的優化策略:
Bundle Size 控制策略
模組化載入:
// 避免載入整個函式庫
import _ from 'lodash'; // ❌ 載入整個 lodash (70KB)
import { debounce } from 'lodash-es'; // ✅ 只載入需要的函數
// 使用原生 API 替代
const unique = _.uniq(array); // ❌ 使用 lodash
const unique = [...new Set(array)]; // ✅ 原生去重
// 日期處理優化
import moment from 'moment'; // ❌ moment.js (67KB)
import { format } from 'date-fns'; // ✅ date-fns 模組化 (2KB per function)
動態載入 (Code Splitting)
// 路由層級分割
const HomePage = lazy(() => import('./pages/HomePage'));
const ProductPage = lazy(() => import('./pages/ProductPage'));
// 功能層級分割
const handleChartView = async () => {
const { Chart } = await import('./components/Chart');
// 只在需要時載入圖表功能
};
⚡ CSS 動畫效能比較測試
🐌 低效能動畫 (Layout)
慢
改變 width/height 屬性 觸發: Layout → Paint → Composite CPU 密集,可能造成卡頓
⚡ 高效能動畫 (Transform)
快
使用 transform 屬性 只觸發: Composite GPU 加速,流暢順滑
效能優化策略總結
效能優化應該遵循明確的優先級順序:
優化順序建議
- 關鍵渲染路徑優化 - 首屏載入速度、關鍵 CSS 和 JavaScript
- 資源載入優化 - 圖片壓縮、字體優化、bundle size 控制
- 運行時效能 - 動畫流暢度、記憶體使用、CPU 佔用
- 用戶體驗細節 - 載入狀態、錯誤處理、離線支援
效能監控檢查清單
開發階段:
- 每次 build 檢查 bundle size 變化
- 使用 Lighthouse 評估核心指標
- 在低速網路環境下測試
上線後:
- 設定 Core Web Vitals 監控
- 定期分析 RUM 數據
- 追蹤關鍵業務指標與效能的關聯
常見效能陷阱
- 過度優化:在不需要的地方浪費時間
- 忽略測量:憑感覺而非數據做決策
- 單點優化:只關注某個指標而忽略整體
- 技術債務:短期解決方案累積成長期問題
實用工具與資源
效能分析工具:
- Chrome DevTools - 內建分析功能
- WebPageTest - 載入瀑布圖分析
- GTmetrix - 綜合效能評估
- Pingdom - 全球多點監控
優化工具:
- ImageOptim - 圖片無損壓縮
- Critical - 提取關鍵 CSS
- Workbox - Service Worker 快取
- webpack-bundle-analyzer - Bundle 分析
前端效能優化需要持續關注和改進。從基礎的資源優化到進階的架構設計,每個環節都影響著用戶體驗。重要的是建立正確的測量習慣,並根據實際數據指導優化方向。