用途:把 Next.js 应用(App Router 或 Pages Router)部署到 Cloudflare Workers,使用 OpenNext 适配器 @opennextjs/cloudflare 实现服务端渲染、静态生成与增量静态再生等能力,也可用于从 Vercel、AWS 等平台迁移,或结合 D1、R2、KV、Workers AI 构建全栈应用。
主要能力:适配器把 Next.js 构建产物转换为 Worker 兼容格式,运行在 Node.js 运行时(需 nodejs_compat,非 Edge 运行时)。支持 App Router、Pages Router、Route Handlers、React Server Components、Server Actions、SSG、SSR、ISR、中间件、图片优化(经 Cloudflare Images)、PPR、'use cache' 组合式缓存与响应流式传输;不支持 Edge 运行时和 Node.js 中间件(15.2+)。
使用方式:新建项目可运行 npm create cloudflare@latest -- my-next-app --framework=next;已有项目安装 npm install --save-dev @opennextjs/cloudflare,创建 wrangler.jsonc(compatibility_date 至少 2025-05-05,compatibility_flags 含 nodejs_compat)与 open-next.config.ts,并在 package.json 加入 dev、build、preview、deploy、cf-typegen 脚本。开发时用 npm run dev 快速迭代,用 npm run preview 在 workerd 运行时验证,部署用 npm run deploy。Cloudflare 绑定通过 wrangler.jsonc 声明,在代码中经 process.env 访问。
限制与注意:Worker 体积上限为免费 3 MiB、付费 10 MiB;数据库客户端必须按请求创建,不能全局复用;构建不要使用 Turbopack;@opennextjs/cloudflare 低于 1.3.0 存在 /_next/image 的 SSRF 漏洞(CVE-2025-6087),需升级;Durable Objects 绑定警告属预期;Prisma 与 D1 在中间件中可能冲突;避免 cross-fetch;Windows 支持不完整,建议用 WSL 或 Linux。具体收费与更多细节以官方资料为准。