5月30日 20:38
Vercel 多环境部署怎么配置才不容易出错?
Vercel 做多环境部署,核心不是多建几个分支,而是把 Production、Preview、Development 的触发方式、环境变量和数据资源隔离清楚。main 对应生产,Pull Request 和功能分支对应 Preview,本地通过 vercel dev 对应 Development。这样团队能在合并前拿到真实预览地址,又不会让测试请求误连生产数据库。
追问
为什么不能只用一个 .env 文件?
一个文件短期省事,长期容易把测试密钥、生产数据库和本地回调混在一起。支付、登录、推送这类功能尤其危险。
NODE_ENV 和 VERCEL_ENV 有什么区别?
NODE_ENV 更偏构建模式,Preview 也常是 production。VERCEL_ENV 才表示 production、preview 或 development,更适合环境路由。
Preview 环境需要独立数据库吗?
只看静态页面可以不要;涉及登录、写入、回调或迁移时建议隔离。最低成本是测试库加命名空间,更稳是每个 PR 临时 schema。
多环境最常见的坑是什么?
变量改完不重新部署、Preview 误用生产 API、回调地址只配生产域名。排查时先看 Deployment Environment。
写段代码
jsconst apiBase = { production: process.env.API_URL, preview: process.env.PREVIEW_API_URL, development: 'http://localhost:3001' }[process.env.VERCEL_ENV || 'development'];