使用 Astro 构建现代博客
· 约 842 字 · 阅读约 5 分钟
目录 ▼
为什么选择 Astro?
Astro 是一个专为内容驱动的网站设计的现代静态站点生成器。它的核心理念是零 JavaScript 默认,这意味着生成的网站默认不包含任何客户端 JavaScript,除非你明确需要。
主要特点
- 极致性能:默认输出纯静态 HTML
- 岛屿架构:按需加载交互组件
- 多框架支持:React, Vue, Svelte, etc.
- 内容集合:类型安全的内容管理
快速开始
# 创建新项目
npm create astro@latest
# 选择博客模板
cd my-blog
npm install
npm run dev
项目结构
src/
├── content/
│ └── posts/ # Markdown 文章
├── layouts/ # 页面布局
├── components/ # 可复用组件
└── pages/ # 路由页面
内容集合
Astro 的内容集合功能让我们可以用 TypeScript 的类型安全来管理 Markdown 文件:
// src/content/config.ts
import { defineCollection, z } from 'astro:content';
const postsCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.date(),
tags: z.array(z.string()),
}),
});
总结
Astro 是构建博客的理想选择,它结合了静态站点生成的性能优势和现代开发体验。无论你是个人博客还是企业文档站点,Astro 都能满足你的需求。