Astro 部署
部署的本质
Astro 默认静态构建,产物就是 dist/ 里的一堆 HTML、CSS、JS、图片,任何能托管静态文件的服务都能部署,不需要专门的服务器。
通用静态托管
把 dist/ 目录上传到任意静态托管即可,比如对象存储 + CDN、Nginx、GitHub Pages 等,核心步骤就两步:
npm run build
# 把 dist/ 里的内容上传到托管根目录
注意托管的根目录要指向 dist/,而不是项目根,否则会找不到页面。
使用官方适配器(进阶)
如果你想用「按需渲染 / SSR」而不是纯静态,需要装对应平台的适配器,Astro 官方支持多家。
npx astro add vercel
安装后 astro.config.mjs 会自动加入适配器配置,构建产物会适配该平台。
常用适配器包括 Vercel、Netlify、Node.js 等。
以 GitHub Pages 为例
- 在仓库设置里开启 Pages,选择从 GitHub Actions 发布。
- Astro 官方提供配套的 workflow 模板,提交后自动构建并发布。
- 记得在
astro.config.mjs(Astro 环境变量与配置)里把site设为你的 Pages 地址,base设为仓库名(如/my-repo),否则资源路径会错。
部署前检查清单
site已设为正式域名,sitemap、canonical(Astro 站点配置与 SEO)才正确。- 图片、字体等静态资源都能正常加载。
- 本地
preview已验证无明显问题。 - 第三方脚本(统计、评论)已配置好。
持续集成
推荐把「构建」放进 CI:每次 push 自动 npm run build 并发布。这样你只管写内容,上线交给流水线。