项目部署
2026年9月6日
Next 可以自己 next build && next start 挂到任何 Node 主机,也可以纯静态导出。和框架同一团队的 Vercel 对 App Router、Server Actions、ISR、Proxy 对齐最快,Git 推送即预览,适合先上线再谈迁出。
代价也清楚:免费额度有限;大陆访问不稳定,面向国内用户要考虑 CDN / 自建。
为什么选它(以及何时不选)
- 新特性往往先在这套运行时验证
- 边缘节点、自动 HTTPS、
*.vercel.app - PR 独立预览,Review 不用共用一台测试机
- 控制台管环境变量、域名
不适合:必须完全在境内、要长期 WebSocket、或账单已经明显高于一台云主机。那时用 Node + Docker、或静态导出 + 对象存储。
控制台流程
- 打开 vercel.com,用 GitHub 登录
- Import 仓库,Framework 认成 Next.js
- 填
DATABASE_URL、BETTER_AUTH_SECRET等同名变量,分 Production / Preview / Development - 部署。默认生产跟主分支,PR 出预览 URL
CLI
pnpm add -g vercel
vercel link
vercel env pull .env.development.local
vercel deploy
# 生产
vercel --prod
bash
env pull 把云端 Development 变量拉到本地,避免两套各写各的。Prisma 若用托管 Postgres,先把 DATABASE_URL 对齐,再:
npx prisma migrate deploy
npx prisma generate
bash
migrate deploy 给生产,不要在生产跑 migrate dev。generate 在 Vercel 构建里通常要写进 postinstall 或 build 命令,否则 Function 里没有 Client。
构建命令注意
- 环境变量缺了,构建期
generateMetadata/ 连库会直接失败 - Image 远程域名、
output: "export"和平台 Node 运行时是两条路,别混 - 国内域名解析到 Vercel 后,还要在平台绑域名、等证书
Next.js 笔记这一轮到部署为止。目录和来源教程对齐;Hono /「其他」两页原文是空的,按公开文档补了能落地的写法。