返回 Astro 建站手记

第三章 部署

构建产物是一堆静态文件,托管在任何静态服务器上都行。

构建

npm run build

产物在 dist/。先本地预览一遍再发布:

npm run preview

注意 devpreview 跑的不是同一套东西——前者按需编译,后者服务的是真正要上线的产物。样式或构建配置的问题,往往只在后者身上才暴露。

产物不进版本库

dist/node_modules/ 都该排除。构建应该在服务器上完成,而不是把本地产物提交上去——否则很快就会出现「仓库里的产物和源码对不上」。

自动化

把构建和发布交给 CI:安装依赖、跑测试、构建、上传产物。测试失败就不发布,这一步能挡住绝大多数把站点改坏的情况。

用户站点与项目站点的区别

这一条最容易踩:如果仓库名就是 <用户名>.github.io,站点服务在域名根路径,配置里不要设 base。其他仓库则服务在 /<仓库名>/ 下,必须设 base,否则所有资源路径都会 404。

判断错了的表现是:本地一切正常,线上样式全丢。