M
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 的决定性理由

  1. 零 JS 默认输出。博客和作品集不需要交互,hydration 完全没必要。Astro 默认输出静态 HTML,首屏 TTFB 极快,对 SEO 收录也最友好。
  2. MDX 原生支持。我想在文章里偶尔塞个 Vue 组件(比如交互式 demo),MDX 直接搞定。
  3. Islands 架构。哪天想加评论、搜索、订阅表单,按需把组件标记为 client:load 即可,不会全站膨胀。
  4. 部署零摩擦pnpm build 出来一个 dist/ 目录,往腾讯云 CloudBase 静态托管一丢就完事。不用管 Node 运行时、不用管容器。

一句话总结

个人站追求的是”写一篇是一篇,长期可维护”,不是”展示我用了什么最新技术”。Astro 的设计哲学跟这个目标最契合。

剩下的就看内容能不能写出来了。