为什么我用 Astro 搭建个人博客:四个技术栈的对比
3 分钟阅读
个人博客从零搭建,先想清楚一件事:框架决定不了外观,但决定了性能和你的写作体验。
先澄清一个误区
很多人在选博客技术栈时纠结”哪个更好看”。其实科技风外观由 CSS 决定,框架不背锅——四种主流方案都能做出深色 + 霓虹 + 网格背景的视觉效果。
真正有区别的是:加载性能、写文章的体验、交互功能的实现成本、以及后续维护。
四个方案对比
| 维度 | Astro | Next.js | 纯 HTML/CSS/JS | Hugo |
|---|---|---|---|---|
| 加载速度 | 极快(默认零 JS) | 中等(需静态优化) | 最快 | 极快 |
| 写文章体验 | Markdown 直接写 | 需配置 MDX,略繁琐 | 每篇手写 HTML | Markdown,但模板要学 Go |
| 搜索/评论 | Pagefind + Giscus 零后端 | 也能做,更偏服务端 | 全自己造轮子 | 同 Astro |
| 交互扩展 | 岛屿架构按需加 JS | 最强(应用框架) | 弱 | 弱 |
| 部署到 Nginx | 直接丢静态文件 | 需 Node 服务 | 直接丢 | 直接丢 |
我的选择:Astro
原因很简单:
- 静态输出:内容博客的性能天花板就是”没有 JS”。Astro 默认零 JS,只有需要时才加载。
- Markdown 一等公民:新增一篇文章 = 新建一个
.md文件,写起来零摩擦。 - 生态恰好覆盖需求:RSS、sitemap、Pagefind 搜索、Giscus 评论,全是开箱即用。
- 部署简单:
npm run build产出静态目录,rsync 到 Nginx 即可,攻击面还小。
什么情况选别的
- 想要复杂动态交互(登录、实时数据、富应用)→ Next.js
- 只想快速开一个极简站点且不想装 Node → Hugo
- 文章永远是个位数、懒得学任何东西 → 纯静态
结论:个人技术博客,“静态 + Markdown”就是最优解,Astro 是其中最现代、体验最好的那个。
代码已经开源在本仓库:~/yxrsai $ git log --oneline。欢迎留言讨论你的选择。