726 字
4 分钟
Astro 框架入门指南
Astro 框架入门指南
Astro 是一个现代化的静态站点生成器,它专注于构建快速、内容驱动的网站。本文将为你介绍 Astro 的核心特性和基本使用方法。
🌟 为什么选择 Astro?
1. 零 JavaScript 运行时
Astro 默认生成纯静态 HTML,只在需要时才加载 JavaScript,这让网站加载速度极快。
2. 组件岛架构(Islands Architecture)
你可以在静态页面中嵌入交互式组件,实现部分水合(Partial Hydration)。
3. 多框架支持
在同一个项目中使用 React、Vue、Svelte 等不同框架的组件。
4. 内置优化
自动进行代码分割、图片优化、CSS 压缩等性能优化。
🚀 快速开始
安装 Astro
# 创建新项目npm create astro@latest my-astro-site
# 进入项目目录cd my-astro-site
# 安装依赖npm install
# 启动开发服务器npm run dev项目结构
my-astro-site/├── public/ # 静态资源├── src/│ ├── components/ # 组件│ ├── layouts/ # 布局│ ├── pages/ # 页面│ └── styles/ # 样式├── astro.config.mjs # 配置文件└── package.json📝 基本语法
Astro 组件
Astro 组件使用 .astro 扩展名,结合了 JavaScript 和类似 JSX 的模板语法:
---// 组件脚本(在构建时运行)const title = "Hello, Astro!";const items = ["Apple", "Banana", "Cherry"];---
<!-- 组件模板 --><html> <head> <title>{title}</title> </head> <body> <h1>{title}</h1> <ul> {items.map(item => <li>{item}</li>)} </ul> </body></html>使用其他框架组件
---// 导入 React 组件import MyReactComponent from '../components/MyReactComponent.jsx';// 导入 Vue 组件import MyVueComponent from '../components/MyVueComponent.vue';---
<html> <body> <!-- 静态渲染 --> <MyReactComponent />
<!-- 客户端水合 --> <MyVueComponent client:load /> </body></html>🎨 样式处理
作用域样式
---// 组件脚本---
<style> /* 自动作用域到当前组件 */ h1 { color: blue; }</style>
<h1>这个标题是蓝色的</h1>全局样式
<style is:global> /* 全局样式 */ body { font-family: sans-serif; }</style>📄 内容管理
Astro 内置了强大的内容管理功能,支持 Markdown 和 MDX:
import { defineCollection, z } from 'astro:content';
const blog = defineCollection({ type: 'content', schema: z.object({ title: z.string(), description: z.string(), publishDate: z.date(), tags: z.array(z.string()).optional(), }),});
export const collections = { blog };🔧 配置和集成
astro.config.mjs
import { defineConfig } from 'astro/config';import tailwind from '@astrojs/tailwind';import react from '@astrojs/react';
export default defineConfig({ integrations: [tailwind(), react()], site: 'https://my-site.com',});📈 性能优势
- 更小的包体积:只加载必要的 JavaScript
- 更快的首屏加载:静态 HTML 立即可见
- 更好的 SEO:完全的服务端渲染
- 渐进式增强:按需添加交互性
🎯 适用场景
Astro 特别适合:
- 📝 博客和文档网站
- 🛍️ 营销和展示网站
- 📊 仪表板和管理界面
- 🎨 作品集网站
总结
Astro 是一个优秀的现代化静态站点生成器,它结合了传统静态网站的性能优势和现代前端框架的开发体验。如果你正在寻找一个快速、灵活且易于使用的解决方案来构建内容驱动的网站,Astro 绝对值得一试!
想了解更多?访问 Astro 官方文档 获取详细信息。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
最后更新于 2025-01-14,距今已过 377 天
部分内容可能已过时