🌐 全景 ⚡ Next.js ⚛️ React 📘 TypeScript 🗄️ Prisma 🎨 Tailwind 🚀 部署

🚀 部署方案对比

三家主流平台怎么选 · 以及配套服务(数据库、存储、邮件…)的成本清单

一、Vercel vs Cloudflare vs CloudBase

三个平台都能部署 Next.js,但定位和适用场景不一样。

Vercel

vercel.com · 国际
一句话
Next.js 亲爹,集成最好
免费额度
100GB 带宽/月
100h 函数执行/月
部署方式
git push 自动部署
国内访问
❌ 慢(需额外配 CDN)
Next.js 支持
✅ 全功能(SSR/ISR/SSG)
平台特色
Edge Functions、Cron Jobs、KV、Blob 存储
升配费用
Pro $20/月
适合
海外用户为主的项目

Cloudflare Pages

pages.cloudflare.com · 国际
一句话
无限带宽,成本最低
免费额度
无限带宽
500 次构建/月
函数 100k 次/天
部署方式
git push 自动部署
国内访问
⚠️ 中等(有国内节点)
Next.js 支持
⚠️ 有限(SSR 需用 Workers)
平台特色
Workers、D1(SQLite)、R2(存储)、KV、Durable Objects
升配费用
Workers Paid $5/月
适合
预算 ¥0、不介意配置较复杂

腾讯云 CloudBase

cloudbase.net · 国内
一句话
国内对标 Vercel
免费额度
每月有免费额度
(函数调用/存储/带宽)
部署方式
CLI 或 Web 控制台
国内访问
✅ 极快
Next.js 支持
✅ 全功能(SSR/SSG)
平台特色
内置数据库、CDN、环境管理、微信/支付宝登录
升配费用
按量付费 ≈¥30/月
适合
国内用户为主的项目
还有个选项: 自己买轻量服务器(¥99/年)→ 完全控制,一台机器可以跑数据库 + Next.js + Redis + 定时任务,月费 ¥8 出头。适合愿意搭环境的用户。

二、配套服务成本清单

一个 Web 项目需要的不只是"托管"。下面是所有可能收费的服务,以及各家方案的对比。

服务项 Vercel + 配套 Cloudflare 全家桶 CloudBase 生态 其他替代方案
网站托管 免费 100GB/月 免费 无限带宽 免费 有免费额度
数据库 Neon ¥0~¥19/月 Supabase ¥0~¥25/月 D1 (SQLite) 免费 内置 免费额度 SQLite(开发用)、Railway 免费版、Aiven 免费版
缓存/Redis Vercel KV 免费额度 Upstash ¥0~¥5/月 Workers KV 免费额度 Redis ¥20+/月 自建 Redis(服务器上跑,免费)
对象存储(图片/文件) Uploadthing ¥0~¥10/月 AWS S3 按量 R2 10GB 免费 COS ≈¥1/TB/月 阿里云 OSS(按量极低)、MinIO 自托管(免费)
邮件发送 Resend ¥0~¥20/月 Resend ¥0~¥20/月 阿里云邮件 ¥0~¥20/月 Brevo 免费 300封/天、Loops.so 免费、SendGrid 免费 100封/天
登录认证 NextAuth 免费 NextAuth 免费 自建 免费 Clerk 免费版(5000用户)、Supabase Auth 免费、Kinde 免费
定时任务 Vercel Cron 免费 Workers Cron 免费 云函数 ¥5+/月 系统 Cron(自建服务器,免费)、Trigger.dev 免费版
全文本搜索 Meilisearch ¥20+/月 D1 可配合 ES ¥50+/月 PostgreSQL 内置全文搜索(免费)、Meilisearch 自托管(免费)、Algolia 免费版
域名 Namesilo / Namecheap / 腾讯云域名 等,¥10~¥50/年
💡 几套推荐组合:
国际 ¥0 方案: Vercel + Neon 免费版 + Resend 免费版 + Cloudflare R2
国际 ¥0 方案 B: Cloudflare Pages + D1 + R2 + Resend(全在 Cloudflare 生态内)
国内 ¥30 方案: CloudBase + 阿里云邮件 + OSS
自建 ¥8/月: 轻量服务器一台跑到底(Next.js + PostgreSQL + Redis + MinIO + Cron)

三、环境变量

// .env 文件(本地开发用,不上传 Git)
DATABASE_URL="file:./dev.db"

// Vercel 后台 → Settings → Environment Variables(生产环境用)
DATABASE_URL="postgresql://user:pass@host:5432/db"