部署平台
Vercel、Netlify、Cloudflare Pages。
30 分钟
部署平台
本地 npm run build 只是第一步——部署平台负责把产物推到 CDN、配置 HTTPS、预览 PR、绑定自定义域名。现代前端常选 Vercel、Netlify、Cloudflare Pages 之一,而非自建 Nginx(全栈或企业场景除外)。
学习目标
- 区分静态站点、SSR Node、边缘函数三种部署形态
- 知道三大平台各擅长什么
- 理解 nextjs-essentials 与静态 SPA 部署差异
部署形态
| 形态 | 产物 | 典型平台 | 框架 |
|---|---|---|---|
| 静态 SPA | dist/ HTML/JS/CSS | Netlify、Cloudflare Pages、GitHub Pages | Vite + React |
| SSR / 全栈 | Node server 或 serverless 函数 | Vercel、Netlify | Next.js |
| 混合 | 静态 + API 路由 | 同上 + 边缘 | Next App Router |
html-css-essentials 纯静态页可直接上传任意静态托管;一旦用 动态路由、RSC、Route Handler,要选支持 Node/Edge 的平台。
Vercel
- Next.js 同源公司,零配置体验最好:Git 连接 → 自动
next build→ 预览 URL - 环境变量、ISR、Edge Middleware 与 Next 文档一致
- 本站若自托管 Docker + Nginx,概念上仍是 build → 运行 Node 进程,只是平台替你做
Netlify
- 早期静态站强者,现支持 Netlify Functions、SSR 适配器
netlify.toml声明 build command、publish 目录- 适合 Jamstack、营销页、部分 Next 静态导出
Cloudflare Pages
- 与 Cloudflare CDN、Workers 深度集成
- 全球边缘快;适合静态 + Workers 轻 API
- Next 需按官方适配器文档配置(生态仍在演进,选型时查当前支持矩阵)
通用流水线
git push → 平台 webhook
→ install(读 lockfile)
→ lint / typecheck(可选)
→ build
→ 原子发布 + 旧版回滚
→ PR 预览环境(unique URL)
与 ft-npm scripts、ft-eslint 直接挂钩——部署前应已通过 CI 门禁。
环境变量
- 构建时:
NEXT_PUBLIC_*/VITE_*打进客户端 bundle