next.config.js
Next.js 可以透過專案根目錄中的 next.config.js
文件進行配置(例如位於 package.json
旁),並使用預設導出。
ECMAScript 模組
next.config.js
是一個常規的 Node.js 模組,而非 JSON 文件。它會被 Next.js 伺服器和建構階段使用,但不會包含在瀏覽器建構中。
如果您需要使用 ECMAScript 模組,可以使用 next.config.mjs
:
須知:目前不支援使用
.cjs
、.cts
或.mts
副檔名的next.config
文件。
函數形式的配置
您也可以使用函數形式:
非同步配置
自 Next.js 12.1.0 起,您可以使用非同步函數:
階段參數
phase
是載入配置時的當前上下文。您可以查看可用的階段。階段可以從 next/constants
導入:
TypeScript
如果您的專案使用 TypeScript,可以使用 next.config.ts
在配置中使用 TypeScript:
註解行是您可以放置 next.config.js
允許的配置選項的位置,這些選項定義於此文件。
然而,沒有任何配置是必需的,也不需要理解每個配置的作用。相反地,您可以在本節中搜尋需要啟用或修改的功能,它們會告訴您該怎麼做。
請避免使用目標 Node.js 版本不支援的新 JavaScript 功能。
next.config.js
不會被 Webpack 或 Babel 解析。
本頁面記錄了所有可用的配置選項:
單元測試 (實驗性功能)
從 Next.js 15.1 開始,next/experimental/testing/server
套件包含幫助測試 next.config.js
文件的工具。
unstable_getResponseFromNextConfig
函數會使用提供的請求資訊執行 next.config.js
中的 headers
、redirects
和 rewrites
函數,並返回包含路由結果的 NextResponse
。
unstable_getResponseFromNextConfig
的回應僅考慮next.config.js
的欄位,不考慮中介軟體或文件系統路由,因此實際生產環境的結果可能與單元測試不同。