Astro前端选型
为什么我用 Astro 搭个人站,而不是 Next.js / Nuxt
对比几大主流框架在个人博客 + 作品集场景下的表现,以及最终选 Astro 的几个决定性理由。
背景
新注册了 maverik.cn,备案还要等几周,但这段时间不能干等——先把站点搭起来、调样式、攒内容,等备案一过就能立刻切正式域名。
问题是:用什么搭?
候选清单
- Next.js:功能最全,但个人站用 SSR/Server Actions 严重过剩。
- Nuxt 3:Vue 生态最成熟,但同样的问题——为博客上 Nitro 是杀鸡用牛刀。
- VitePress:纯文档站风格,跟”作品集 + 博客”调性不搭。
- Hugo:最快,但模板语言让人没有维护欲望。
- Astro:默认零 JS、原生 MDX、组件可以混 Vue/React——
选 Astro 的决定性理由
- 零 JS 默认输出。博客和作品集不需要交互,hydration 完全没必要。Astro 默认输出静态 HTML,首屏 TTFB 极快,对 SEO 收录也最友好。
- MDX 原生支持。我想在文章里偶尔塞个 Vue 组件(比如交互式 demo),MDX 直接搞定。
- Islands 架构。哪天想加评论、搜索、订阅表单,按需把组件标记为
client:load即可,不会全站膨胀。 - 部署零摩擦。
pnpm build出来一个dist/目录,往腾讯云 CloudBase 静态托管一丢就完事。不用管 Node 运行时、不用管容器。
一句话总结
个人站追求的是”写一篇是一篇,长期可维护”,不是”展示我用了什么最新技术”。Astro 的设计哲学跟这个目标最契合。
剩下的就看内容能不能写出来了。