部署上线
Cloudflare Pages 部署
免费额度大,全球 CDN,适合静态站点和 JAMstack 应用
Cloudflare Pages 是 Vercel 的有力竞争者,免费额度更大,特别适合流量较大的项目。
为什么选择 Cloudflare Pages
- 免费额度大:无限带宽,无限请求
- 全球 CDN:Cloudflare 的全球网络
- Workers 集成:可以添加服务端逻辑
- R2 存储:可以托管大文件
- 零配置:自动识别框架
快速部署
通过 Web 界面
- 访问 pages.cloudflare.com
- 用 GitHub/GitLab 登录
- 点击 "Create a project"
- 选择仓库
- 配置构建设置:
- 构建命令:
npm run build - 输出目录:
dist或build
- 构建命令:
- 点击 "Save and Deploy"
通过 Wrangler CLI
# 安装 Wrangler
npm install -g wrangler
# 登录
wrangler login
# 部署
wrangler pages deploy <输出目录>支持的框架
自动识别:
- Next.js(静态导出)
- React / Vite
- Vue / Nuxt
- Astro
- SvelteKit
- Hugo / Jekyll
配置环境变量
- 进入项目 → Settings → Environment variables
- 添加变量
- 选择环境(Production / Preview)
- 重新部署生效
添加服务端逻辑(Functions)
在项目中创建 functions 目录:
// functions/api/hello.ts
export async function onRequest(context) {
return new Response('Hello from Cloudflare Pages!')
}访问 https://your-site.pages.dev/api/hello 即可调用。
自定义域名
- 进入项目 → Custom domains
- 点击 "Set up a custom domain"
- 输入域名
- 按提示配置 DNS(如果域名在 Cloudflare,自动配置)
与 Vercel 对比
| 功能 | Cloudflare Pages | Vercel |
|---|---|---|
| 免费带宽 | 无限 | 100 GB/月 |
| 免费请求 | 无限 | 无限 |
| 构建时间 | 20 分钟/月(免费) | 6000 分钟/月 |
| 服务端渲染 | 需要 Workers | 原生支持 |
| 适合场景 | 静态站点、JAMstack | 全栈应用 |
常见问题
Next.js 部署注意事项
Cloudflare Pages 只支持静态导出:
// next.config.js
module.exports = {
output: 'export',
images: {
unoptimized: true
}
}如果需要服务端渲染,使用 Vercel 或 Cloudflare Workers。
构建失败
- 检查 Node.js 版本(在环境变量中设置
NODE_VERSION) - 确认构建命令和输出目录正确
- 查看构建日志
进阶:集成 R2 存储
用于托管大文件(图片、视频):
// functions/api/upload.ts
export async function onRequest(context) {
const { R2 } = context.env
// 上传文件到 R2
}免费额度
- 无限带宽
- 无限请求
- 500 次构建/月
- 20 分钟构建时间/月
- 100 个自定义域名
对于 MVP 完全够用。