🚀 什么是 Astro?
Astro 是一个现代化的 Web 框架,专为内容驱动的网站设计。它采用创新的 Islands 架构,默认零 JavaScript,只在需要时加载交互组件。
🎯 核心理念
- HTML 优先:HTML 是最快的 UI 框架
- 零 JS 默认:默认不发送 JavaScript
- Islands 架构:选择性水合交互组件
- 多框架支持:React、Vue、Svelte 混用
- 服务端优先:渲染在服务端完成
📊 项目信息
GitHub Stars
48K+ 开发者关注
State of JS 2024
#1 兴趣/留存/积极性
性能提升
比其他框架快 40%
JavaScript
减少 90% JS 体积
🏝️ Islands 架构
Astro 开创的 Islands 架构,将页面分为静态 HTML 和交互式"岛屿":
astro
---
import ReactCarousel from '../components/Carousel.jsx';
---
<!-- 静态 HTML,零 JS -->
<header>
<h1>我的网站</h1>
<p>这段内容是纯 HTML,没有 JavaScript</p>
</header>
<!-- 交互式岛屿,只在这里加载 JS -->
<ReactCarousel client:visible />
<!-- 更多静态内容 -->
<footer>
<p>© 2024 我的网站</p>
</footer>
🔄 多框架支持
可以在同一个 Astro 项目中混用多个 UI 框架:
React
@astrojs/react
Vue
@astrojs/vue
Svelte
@astrojs/svelte
Preact
@astrojs/preact
⚡ 性能对比
| 指标 | Astro | Next.js | Gatsby |
|---|---|---|---|
| 首次加载 JS | 0KB | ~80KB | ~120KB |
| Lighthouse 分数 | 98-100 | 80-95 | 75-90 |
| TTFB | 极快 | 快 | 中等 |
🚀 快速体验
bash
# 创建新项目
npm create astro@latest
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build