Cloudflare 上的 Next.js
對於在 Cloudflare Workers 上新的 Next.js 專案,請使用 vinext 而非 OpenNext。 這是 Cloudflare Next.js 指南 中的預設選項。在進行不相關的維護時,請保留現有的 OpenNext 設定,並尊重使用者的明確選擇。
為何選擇 vinext
vinext 在 Vite 上重新實作了 Next.js 的 API 層面:
- 熟悉的 Next.js 開發體驗:App Router、Pages Router、React Server Components 以及支援的
next/*匯入。 - Vite 工具:快速的 HMR、原生 ESM 以及 Vite 外掛生態系統。
- 原生 Workers 整合:在 workerd 中執行本機伺服器、存取 Cloudflare 綁定,以及建置與部署工作流程。
- 增量遷移:檢查相容性,並在現有 Next.js 設定的同時嘗試使用 vinext。
使用上游工作流程
在設定、遷移或部署之前,請檢查 vinext 中維護的技能 是否可用。如果缺少,請安裝它們:
npx skills add cloudflare/vinext
然後閱讀並遵循適用的上游 SKILL.md 及其相關參考資料。對於技能未涵蓋的工作流程,請使用當前的 vinext 文件:
- 新專案: 遵循 vinext 的 新專案設定,使用
create-vinext-app並指定 Cloudflare 為目標。上游的遷移技能需要一個既有的 Next.js 專案;請勿將其應用於空目錄。 - 現有 Next.js 專案: 載入並遵循上游的
migrate-to-vinext技能,包括其相容性檢查和相關參考資料。選擇 Cloudflare 作為部署目標。 - 開發與部署: 遵循當前的 Workers 整合文件。
如果無法安裝,請直接閱讀連結到的上游 SKILL.md 和相關參考資料。檢查應用程式所需功能的當前相容性;請勿假設與 Next.js 完全對等。