🚀 欢迎来到 Astro 示范项目

一个展示 Astro 框架核心特性的现代化静态站点示范

默认零 JavaScript · 岛屿架构 · 内容优先 · 框架无关 · 极致性能

✨ 核心特性

🏝️

岛屿架构

默认零 JS,按需引入交互式 UI 岛屿。让你的页面以纯静态 HTML 运行,极致性能。

内容优先

原生支持 Markdown / MDX,完美适配博客、文档等内容型站点。

🧩

框架无关

同时使用 React、Vue、Svelte、Solid 等组件,互不冲突。

📡

服务端渲染

支持 SSG、SSR 和混合模式,灵活控制每个页面的输出策略。

🖼️

资源优化

自动优化图片、字体、CSS,开箱即用的最佳性能实践。

🔌

丰富生态

活跃的社区和官方集成,可对接 CMS、数据库、分析等。


🖱️ 交互式岛屿示例

以下是一个 React 组件。打开浏览器控制台,你会发现这个页面默认没有任何 JS —— 只有这个交互组件会按需加载响应代码。

⚛️

React 交互岛屿

这是一个 React 组件,只有在需要交互时才会加载客户端 JS。

0

这只是一个纯静态卡片

即使放在 React 组件旁边,它也不会包含任何 JavaScript。 这就是「岛屿架构」的核心思想 —— 按需加水。

⚡ 这个卡片没有任何 JS 开销


📦 项目结构

src/
├── components/     # UI 组件(Astro + 交互式框架组件)
│   ├── Card.astro
│   ├── FeatureCard.astro
│   ├── Hero.astro
│   └── Counter.client.tsx
├── content/        # Markdown / MDX 内容
│   └── blog/
│       ├── getting-started.md
│       └── why-astro.md
├── layouts/        # 页面布局
│   └── BaseLayout.astro
├── pages/          # 路由页面
│   ├── index.astro
│   ├── about.astro
│   └── blog/
│       ├── index.astro
│       └── [slug].astro
└── styles/         # 全局样式
    └── global.css
📝 查看博客文章 👤 关于本项目