用 Astro 搭建个人博客
最近在折腾个人博客,试了不少方案,最后选了 Astro。记录一下选型过程和搭建体验。
为什么是 Astro
之前考虑过几个方案:
- Hugo:构建速度极快,单二进制文件,但 Go template 语法比较原始,想加个交互组件很麻烦。
- Next.js:功能强大但太重了,一个博客不需要 SSR 和那些复杂的路由逻辑。
- VitePress:更适合文档站,博客功能不够灵活。
Astro 吸引我的点是 Island 架构——默认输出纯静态 HTML,零 JS 开销,但需要交互的地方可以嵌入 React/Vue 组件。对于博客这种内容为主的站点,这个权衡刚好。
搭建过程
整个搭建过程大概花了 20 分钟:
npm create astro@latest -- --template blog
npm install @astrojs/cloudflare
然后配置一下 astro.config.mjs,加上 Cloudflare adapter,就可以部署了。
写文章就是在 src/content/blog/ 下放 Markdown 文件,frontmatter 里写标题、日期、摘要。支持 MDX,可以在文章里嵌入组件。
部署
用 Cloudflare Pages 部署,GitHub push 自动触发构建。构建速度很快,几百毫秒就完事了。
Build command: npm run build
Output directory: dist/client
域名直接在 Cloudflare 里解析,SSL 证书自动签发,全程不用操心。
总结
如果你也想搭个个人博客,Astro 是个不错的选择。开发体验好,构建快,部署简单,后续想加功能也有足够的扩展空间。