Web Development·2026年3月25日

前端效能優化:我在實務專案裡真正會做的事

我是後端背景的全端,前端主力是 Vue,但效能優化的原則其實跨框架相通。這篇講的不是某個框架的 API,而是我在實際專案裡真正會去做、也真正有感的前端效能優化——以及我刻意「不做」的過早優化。

先量測,再優化

最重要的一條原則:不要憑感覺優化。 在動手之前先用瀏覽器的開發者工具(Performance、Lighthouse、Network)量測,找出真正的瓶頸在哪。

我看過太多人花一堆時間去微調一段根本不慢的程式,真正的瓶頸卻是一張沒壓縮的大圖。沒有量測的優化,常常是在解決不存在的問題。先找到那 20% 真正拖慢體驗的東西,把力氣花在那裡。

載入效能:使用者最先感受到的

使用者對「快不快」的第一印象,來自頁面載入。我會優先處理:

  • 圖片:這幾乎是最常見的元兇。用適當的格式與尺寸、壓縮、延遲載入(lazy load)那些不在第一屏的圖。一張過大的圖能毀掉整個首屏速度
  • 打包體積:別把整包 JavaScript 一次塞給使用者。用程式碼分割(code splitting),讓使用者只下載當前頁面需要的部分
  • 第三方腳本:每加一個第三方腳本都是成本。廣告、分析工具這些要斟酌,它們很容易拖慢頁面

渲染效能:避免不必要的重繪

不管是 React 還是 Vue,核心問題都一樣:避免不必要的重新渲染。當資料變動時,只更新真正需要更新的部分,而不是一大片元件全部重畫。

  • 把狀態放在「剛好需要的層級」,不要讓一個小變動觸發整棵元件樹重繪
  • 大型清單用虛擬化(只渲染畫面上看得到的那幾筆),而不是一次塞幾千個 DOM 節點
  • 善用框架提供的快取機制(Vue 的 computed、React 的 memo),但別濫用——過度的 memo 反而增加負擔

狀態管理:別讓它變成效能黑洞

前端一複雜,狀態管理就容易出問題。我的原則是把共用狀態集中管理(Vue 我用 Pinia),並且讓元件只訂閱它真正需要的那部分狀態。如果一個全域狀態一變,全站元件都跟著重繪,那就是效能黑洞。

別過早優化

最後,跟後端一樣:過早優化是萬惡之源。 在功能還沒穩定、還沒量測之前就為了效能把程式寫得很扭曲,往往得不償失——你犧牲了可讀性,去換一個可能根本不存在的效能問題。

我的順序永遠是:先把功能寫對、寫清楚 → 上線量測 → 找到真正的瓶頸 → 針對性地優化。

小結

我在實務專案做前端效能優化的原則:

  • 先量測再優化,別解決不存在的問題
  • 載入效能優先處理圖片、打包體積、第三方腳本
  • 渲染上避免不必要的重繪,大清單用虛擬化
  • 狀態集中管理、精準訂閱,別讓它變效能黑洞
  • 不要過早優化,先求對與清楚,再針對瓶頸下手

效能優化的功力,不在於你會多少技巧,而在於你能不能克制住「到處優化」的衝動,把力氣花在真正有差別的地方。

相關文章