Vercel + Supabase
适用:前端托管在 Vercel,后端/数据库使用 Supabase。
1. 准备¶
- 前端:静态站或 Next.js,代码托管在 GitHub。
- Supabase:在 Dashboard 创建项目,获取
SUPABASE_URL与SUPABASE_ANON_KEY/SERVICE_ROLE_KEY。
2. 前端部署(Vercel)¶
1) 在 Vercel 导入 GitHub 仓库,保持默认构建设置。
2) 在 “Settings → Environment Variables” 添加:
- SUPABASE_URL
- SUPABASE_ANON_KEY(前端公开调用)
3) 重新部署,前端通过 Supabase JS SDK 访问数据库。
Next.js 可在
.env.local定义,再由 Vercel 自动注入。
3. 后端 / API 选项¶
- 仅前端 + Supabase:用 Supabase Auth/DB/Storage/Functions,前端直接调用。
- Next.js Route Handlers:
app/api/*中编写 API,使用SUPABASE_SERVICE_ROLE_KEY(仅服务端环境变量)。 - Edge/Serverless Functions:在 Vercel 函数中读取 Supabase 环境变量,避免密钥暴露。
4. 常见问题¶
- 客户端暴露密钥:前端只能用
ANON_KEY;服务端场景用SERVICE_ROLE_KEY,仅放 Serverless 环境变量。 - CORS / 网络失败:检查 Supabase 项目允许的域名;国内访问可考虑加速或代理。
- 构建失败:确认
.env已配置,或在 Vercel 环境变量界面补齐。