Astro 入门指南
· 1 分钟
什么是 Astro
Astro 是一个现代的 Web 框架,专注于构建内容驱动的网站。它的核心理念是「零 JS 除非你需要」。
核心特性
Islands 架构
Astro 使用 Islands 架构,只在需要交互的组件上加载 JavaScript:
---
import Counter from '../components/Counter.tsx';
---
<h1>静态内容,无 JS</h1>
<Counter client:load />
内容集合
Astro 提供了类型安全的内容集合 API:
import { defineCollection, z } from 'astro:content';
import { glob } from 'astro/loaders';
const blog = defineCollection({
loader: glob({ pattern: '**/*.md', base: './src/data/blog' }),
schema: z.object({
title: z.string(),
pubDate: z.coerce.date(),
}),
});
View Transitions
内置页面过渡动画,无需额外 JavaScript:
---
import { ClientRouter } from 'astro:transitions';
---
<head>
<ClientRouter />
</head>
总结
Astro 非常适合博客、文档站点和内容营销网站。它的性能优势和开发体验都很出色。