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 也在| 指标 | Astro | Next.js |
|---|---|---|
| 首屏 JS | 0-5 KB | 80-200 KB |
| Lighthouse | 99-100 | 85-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 做后台管理系统,各取所长。