大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
部署
SvelteKit 与 Astro 都能产出 静态文件夹 或 Node 服务;Eleventy 几乎总是 _site/ 静态包。部署决策在 adapter / output 配置 阶段就应确定——与 ft-deploy 的平台选型直接衔接。
学习目标
- 为 Astro / SvelteKit 静态站选对 build 与 publish 目录
- 对照 Vercel、Netlify、Cloudflare Pages 的适配方式
- 理解本站 Next platform 与静态文档站部署差异
产物形态
| 项目类型 | 命令 | 典型输出 | 托管 |
|---|---|---|---|
| Astro 静态 | astro build | dist/ | 任意静态 CDN |
| SvelteKit + adapter-static | vite build | build/ 或 dist/ | 同上 |
| SvelteKit + adapter-node | node build | 服务器 | Docker / VPS |
| Eleventy | eleventy | _site/ | 同上 |
纯静态无需 Node 进程——与 html-css-essentials 上传 GitHub Pages 同级;SSR 路由则需 Vercel/Netlify 或自建 Node。
平台配置示例(概念)
Netlify(netlify.toml):
[build]
command = "npm run build"
publish = "dist"
Cloudflare Pages:连接 Git → build command → output dist。环境变量在面板配置,不要 commit .env。
与 nextjs-essentials 全栈部署对比:Next 常 零配置 Vercel;Astro 静态站 任意静态平台等价,更灵活、更便宜。
CI 门禁
push → GitHub Actions
→ npm ci
→ npm run build
→ (可选)link checker / lighthouse
→ 平台 deploy preview
沿用 frontend-toolchain-essentials 的 ESLint、tsc --noEmit:静态站同样 先绿测再发布。多环境用 PUBLIC_API_URL / PUBLIC_ 前缀区分预览与生产。
与 Java 后端并存
docs.example.com → Astro 静态 (CDN)
app.example.com → Next 或 SvelteKit SSR
api.example.com → Spring Boot
CORS 与 cookie 域在 backend 配置;前端静态站 只调公开 API。勿把 react-essentials 开发时的 localhost:5173 硬编码进生产 build。
练习
- 本地
astro build+npx serve dist验证静态可浏览 - 写一段 Netlify 或 Cloudflare 的 build 设置(command + publish)
- 说明:何时必须 adapter-node 而非 adapter-static
小结
静态站 = build 产物直传 CDN;SSR 才要 Node/边缘。 下一课汇总:内容站 vs 重交互,何时选用本 track 框架。