🏠 My Blog

Astro vs Next.js:博客站选哪个?

· 1 min read · Updated: 2026年5月28日

核心定位不同

Astro 是为内容型站点设计的——博客、文档、营销页。它默认输出纯 HTML,只在需要交互的地方引入 JS(岛屿架构)。

Next.js 是一个全栈 React 框架,适合复杂的 Web 应用——仪表盘、SaaS、电商。

性能对比

打包体积

用同一个 5 篇文章的博客做测试:

# Astro 构建结果
dist/
├── index.html         (4.2 KB)
├── posts/
   ├── hello-world/   (8.1 KB)
   └── ...            (7-10 KB each)
# 总 JS 体积: ~3 KB (仅主题切换)
 
# Next.js 构建结果
.next/
├── static/
   ├── chunks/        (~180 KB JS)
# 即使静态导出,React runtime 也在
指标AstroNext.js
首屏 JS0-5 KB80-200 KB
Lighthouse99-10085-95
构建时间 (10篇)~3s~12s

开发体验

Astro 的优势

  • .astro 文件简洁直观,模板语法接近 HTML
  • 零配置就能用 MDX、Sitemap、RSS
  • Content Collections 提供类型安全的 frontmatter

Next.js 的优势

  • 成熟的 React 生态,组件库随便用
  • 全栈能力——API Routes、Server Actions
  • 庞大的社区和教程资源

结论

内容>交互的场景选 Astro,应用>内容的场景选 Next.js。

对于个人博客而言,Astro 几乎是完美选择——它天生就为内容做了优化,无需手动配置 gtag、sitemap、RSS 等,开箱即用。而 Next.js 更适合需要用户登录、实时数据、复杂状态管理的应用。

当然,两者并不互斥——你可以用 Astro 做博客,用 Next.js 做后台管理系统,各取所长。

💬 Comments