曦
部署

把 Next.js 16 部署到 Cloudflare Workers

用 OpenNext 适配层把 App Router 应用搬上边缘运行时,记录完整配置与踩坑点。

Next.js 想在 Cloudflare 上跑起来,关键在于它默认产出的是 Node.js 服务,而 Workers 是 V8 隔离环境,没有完整的 Node API。OpenNext 做的事就是把 Next 的构建产物重新打包成 Workers 能识别的形态。

一、安装适配层

npm install --save-dev @opennextjs/cloudflare wrangler

二、wrangler 配置

{
  "name": "xivi-blog",
  "main": ".open-next/worker.js",
  "compatibility_date": "2026-09-09",
  "compatibility_flags": ["nodejs_compat"],
  "assets": {
    "directory": ".open-next/assets",
    "binding": "ASSETS"
  }
}

nodejs_compat 这一项不能漏,它让 Workers 提供大部分 Node 内置模块的 polyfill,Next 的服务端代码依赖这些。

三、构建与部署

npx opennextjs-cloudflare build && npx wrangler deploy
踩坑提醒:如果项目里用了 next/font/google,国内网络下构建会卡在字体下载。改用系统字体栈最稳。
分享微博QQX

留言评论还没有留言,来抢沙发

📝 免注册留言:提交后系统自动生成昵称和头像
发言请友善,最多 500 字

加载中…