Astro 入门指南

Astro 是一个现代化的静态站点生成器,特别适合内容型网站。

为什么选择 Astro?

1. 零 JS 开销

Astro 默认输出纯 HTML 和 CSS,JavaScript 只在需要时才加载。这意味着你的网站加载速度会非常快。

2. 岛屿架构

Astro 引入了”岛屿架构”的概念——你可以在静态页面中嵌入独立的交互式组件:

---
// 这个组件只在客户端交互时才加载 JS
import LikeButton from '../components/LikeButton.jsx';
---

<h1>我的文章</h1>
<p>文章内容...</p>
<LikeButton client:load />

3. 内容集合

Astro 的内容集合(Content Collections)提供了类型安全的内容管理:

const blog = defineCollection({
  loader: glob({ pattern: "**/*.md", base: "./src/content/blog" }),
  schema: z.object({
    title: z.string(),
    pubDate: z.coerce.date(),
    tags: z.array(z.string()).default([]),
  }),
});

4. Markdown 友好

直接用 Markdown 写文章,Astro 会自动生成页面。支持 MDX,可以在 Markdown 中使用组件。

快速开始

# 创建新项目
npm create astro@latest

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build

总结

Astro 是一个非常适合博客、文档站等内容型网站的框架。它的性能优秀,开发体验也很好。