如何為生產環境優化您的 Next.js 應用程式

在將 Next.js 應用程式投入生產環境前,您應考慮實施一些優化和模式,以獲得最佳的使用者體驗、效能和安全性。

本頁提供最佳實踐,可作為您在開發應用程式投入生產環境前的參考,以及您應該了解的Next.js 自動優化

自動優化

以下 Next.js 優化功能預設啟用且無需配置:

這些預設值旨在提升應用程式效能,並減少每個網路請求的資料傳輸量和成本。

開發期間

在開發應用程式時,我們建議使用以下功能以確保最佳效能和使用者體驗:

路由與渲染

資料獲取與快取

UI 與無障礙性

  • 字體模組 (Font Module): 使用字體模組優化字體,該模組會自動將您的字體檔案與其他靜態資源一起託管,移除外部網路請求並減少版面位移 (layout shift)
  • <Image> 元件: 使用圖片元件優化圖片,該元件會自動優化圖片、防止版面位移,並以 WebP 等現代格式提供圖片。
  • <Script> 元件: 使用指令碼元件優化第三方指令碼,該元件會自動延遲載入指令碼並防止它們阻塞主執行緒。
  • ESLint: 使用內建的 eslint-plugin-jsx-a11y 外掛程式及早發現無障礙性問題。

安全性

元資料與 SEO

  • <Head> 元件: 使用 next/head 元件新增頁面標題、描述等。

型別安全

  • TypeScript 和 TS 外掛程式: 使用 TypeScript 和 TypeScript 外掛程式獲得更好的型別安全性,並幫助您及早發現錯誤。

投入生產環境前

在投入生產環境前,您可以執行 next build 在本機建置應用程式並捕捉任何建置錯誤,然後執行 next start 在類似生產環境的環境中測量應用程式效能。

核心網頁指標

  • Lighthouse: 在無痕模式下執行 Lighthouse,更好地了解使用者體驗您網站的方式,並找出改進空間。這是模擬測試,應與實際資料(如核心網頁指標)結合查看。

分析套件

使用 @next/bundle-analyzer 外掛程式分析 JavaScript 套件的大小,並識別可能影響應用程式效能的大型模組和相依性。

此外,以下工具可幫助您了解新增相依性對應用程式的影響:

On this page