Cloudflare Workers 上的 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 完全一致。