生产部署
官网是静态 SPA,不经过主服务器 Nginx。生产构建命令与输出目录以仓库为准;Cloudflare Dashboard 里的开关以当前线上项目为准,仓库内没有 wrangler.toml 或 GitHub Actions 可核对。主服务器拓扑见 基础设施概览。
构建产物
npm run build
| 项 | 值 |
|---|---|
| 构建命令 | npm run build(即 vite build) |
| 发布目录 | dist/ |
| Node | 20.19+ 或 22.12+(构建环境需满足 Vite 8) |
| 环境变量 | 当前不需要 |
不要把发布目录仍设为 CRA 的 build,否则会发布空目录或过期产物。
Cloudflare Pages
项目历史上使用 Cloudflare Pages 连接 GitHub 仓库自动构建。
建议核对 Dashboard(需有项目权限的同学确认):
- 构建命令:
npm run build - 发布目录:
dist - Node 版本:≥ 20.19 或 22.x
- 生产分支:以当前绑定为准(常见为
master/main) - SPA:Pages 对客户端路由通常会回退到
index.html;若刷新/zh/Activity出现托管方 404,在该项目启用 Single-page application 回退
每次向已连接分支 push 会触发构建。本文无法代替 Dashboard 截图,上线前用预览域名点开带 locale 的深链验证。
SPA 回退(自托管)
若改用 Nginx 等托管 dist/:
location / {
try_files $uri $uri/ /index.html;
}
locale 路径(/en/About/...)全部依赖这条回退。
其他平台(附录)
| 平台 | 构建命令 | 发布目录 |
|---|---|---|
| Netlify / Vercel | npm run build | dist |
| GitHub Pages | npm run build | dist |
发布后检查
- 打开首页是否跳到
/zh - 直接刷新
/zh/Activity、/en/Partnership - 语言切换、图片、页脚外链
- 旧书签
/Activity/...是否进/zh/Activity/...
失败时见 常见错误。