把 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,国内网络下构建会卡在字体下载。改用系统字体栈最稳。
留言评论还没有留言,来抢沙发
加载中…