橙宝书
构建

AI 做的 Next.js 应用如何上线 Cloudflare Workers

先运行兼容性门禁,再在静态导出、vinext、OpenNext 与保留原平台之间选择可回退的上线方式。

编辑与核验:橙宝书编辑团队 ·

TUTORIALAI 应用上线35 分钟Next.js · Workers · 可回退

先给结论

AI 能把 Next.js 项目写到“本机可运行”,但不会自动证明目标运行时兼容。纯静态应用直接评估静态资源交付;需要 SSR、Route Handler 或 Server Action 时,Cloudflare 当前默认推荐 vinext,但它仍是 beta,必须先运行 vinext check 并做真实回归。已有复杂项目可以继续评估 OpenNext,或暂时保留原托管平台。

AI 生成的 Next.js 应用迁移到 Cloudflare Workers 前的兼容性选路流程
先识别静态与服务端能力,再跑兼容检查;预览、观测和灰度通过后,最后切换域名。查看原图
详细说明
现有 Next.js 应用先判断是否只需要静态导出。需要服务端能力时运行 vinext check;关键路由、缓存、图片和原生模块测试通过后才试用 vinext,否则继续使用 OpenNext 或原托管平台。所有选择都必须经过预览、观测和灰度。
  1. 01
    Classify

    列出静态页面、SSR、API、Server Actions 与后台任务。

  2. 02
    Check

    运行 vinext check,记录而不是忽略兼容缺口。

  3. 03
    Prove

    在目标预览运行时重放关键测试。

  4. 04
    Release

    保留旧版本,灰度后再切域名。

先选运行模型

项目实际使用首个候选原因
只有静态导出,无 SSR、API、Server ActionsWorkers Static Assets,或有意继续 Pages运行面最小,构建产物可直接交付
常见 Next.js 16 能力,需要继续使用 Next APIvinext compatibility gateCloudflare 当前默认推荐;初始化与现有 Next 脚本可并存
已在 OpenNext 稳定运行,或 vinext 存在关键兼容缺口OpenNext 或当前平台不为迁移删除已验证的路径;按业务收益再决定迁移
依赖原生模块、特殊构建插件、长进程或平台专有服务先保留原平台并拆解依赖构建成功不代表运行与运维模型等价

上线前兼容性门禁

保存可回退基线

记录当前提交或压缩包、Node 与包管理器版本、环境变量名称、构建命令、生产 URL 和核心测试。不要让 AI 一边迁移,一边升级 Next.js、替换数据库和重写认证。

盘点真正使用的 Next.js 能力

至少搜索 app/pages/、Route Handlers、Server Actions、middleware/proxy、next/image、缓存与 revalidate、Node 原生模块、文件系统、后台任务和平台专有 SDK。把每一项映射到一个可重复测试。

运行只读兼容检查

在 Next.js 项目目录运行
pnpx vinext check

保存完整输出。任何关键功能标记为未知或部分支持时,先做最小复现;不要让 AI 用类型断言、删功能或静默回退来“通过检查”。

并行初始化 vinext

确认兼容风险可接受后再运行初始化。官方流程是非破坏式并存:原来的 next dev 可以继续工作。

pnpx vinext init
pnpm run dev:vinext
pnpm run build:vinext

初始化会安装依赖并生成 Vite 与 Workers 配置,因此先审查文件差异、脚本、兼容日期、binding 与 secret 名称。不要把 .env 值复制到公开配置。

在目标预览运行时做回归

至少验证:首页与 404、动态路由、登录/登出、受保护页面、Route Handler、Server Action、图片、缓存失效、上传、数据库、错误页和移动端。AI 做的 SaaS、CMS、图片或 PDF 工具还要验证租户隔离、文件限制与异步任务状态。

人工确认后才部署与灰度

远程变更:仅在审查通过后运行
pnpx @vinext/cloudflare deploy

先使用预览 URL;观测错误、延迟、缓存和业务指标,再逐步切换流量。域名最后迁移。若某项关键回归失败,继续使用 OpenNext 或原平台是合格结论,不是失败。

vinext 仍处于 beta

Cloudflare 将它作为当前默认 Next.js 路径,但官方仍要求生产应用先运行兼容检查。图片优化目前是部分支持,next/* 模块也应按兼容面板逐项确认;不要把“推荐”写成“所有 Next.js 项目无损迁移”。

发布门禁

维度通过标准回退触发器
功能同一套核心测试在原环境与 Workers 预览通过登录、写入、上传或关键路由失败
数据只连接明确的测试/预览资源,生产 binding 经人工确认误连生产、schema 不一致、越权访问
性能核心路径延迟与错误率在预算内尾延迟或 CPU/内存异常
运维日志、告警、版本、回滚负责人已就绪无法定位版本或一键回到旧入口

先理解平台抽象差异可读 Workers、Pages 与 Vercel/Railway/Render 对比;应用分层见完整应用基础架构

官方来源

这篇内容帮你完成目标了吗?

内测反馈只在当前浏览器生成,不会自动上传。

本页目录