← 返回博客
Astro 关键字速查板

🚀 Astro 关键词与概念速查表

• 3 分钟阅读

面向 Astro 开发者的术语清单,涵盖 Islands 架构、组件类型、构建策略、配置选项与部署适配器。通过表格与流程图解释目录结构、CLI 脚本与效率技巧,帮助你在创建新项目时保持清晰。

🚀 Astro 关键词与概念速查表

本文整理了在使用 Astro 开发时常见的核心概念、文件结构、配置项及术语解释,帮助你快速理解 Astro 的工作机制与生态。


🌌 核心概念

关键词含义
Astro一种静态站点生成器(SSG),采用“岛屿架构(Islands Architecture)”,默认输出纯 HTML,仅在需要时加载前端 JS。
Islands ArchitectureAstro 的核心理念:页面整体是静态的 HTML,只在交互组件部分加载 JS。极大提升性能。
Component (组件).astro 文件或前端框架组件(React/Vue/Svelte 等),用于构建页面结构。
Partial Hydration“部分水合”机制,只为页面中需要交互的组件加载 JS。
Adapter用于将 Astro 部署到不同平台的适配器(如 Vercel、Netlify、Node 等)。
Renderer让 Astro 能使用特定前端框架(如 React/Vue/Svelte)的插件系统。

📂 文件与目录结构

路径/文件含义
src/pages/页面文件夹,对应静态路由(每个 .astro 文件会生成一个 HTML 页面)。
src/components/存放组件文件(可为 .astro.jsx.vue.svelte 等)。
src/layouts/页面模板/布局文件。可通过 <slot /> 注入内容。
public/静态资源目录,内容会原样复制到最终 dist/
astro.config.mjsAstro 项目主配置文件,定义站点信息、插件、适配器等。
src/env.d.tsTypeScript 类型定义文件,用于识别 .astro 模块。
dist/构建输出目录。

⚙️ 配置关键词(astro.config.mjs)

关键词含义
site站点的基础 URL,用于生成 sitemap、RSS、canonical 链接。
base部署时的子路径(例如 GitHub Pages 的仓库路径)。
integrations集成插件数组(如 @astrojs/react@astrojs/sitemap 等)。
adapter定义部署平台适配器。
output输出模式:'static'(默认)或 'server'(SSR)。
trailingSlash是否在 URL 末尾添加斜杠,可选:'always''never''ignore'
build构建相关设置,如输出目录、自定义路径等。

🧩 模板语法关键词

语法含义
---Astro 前后端逻辑分隔符,三条横线之间写服务器端逻辑(JavaScript/TypeScript)。
Astro.props获取组件或页面传入的属性。
Astro.params获取动态路由参数(例如 [id].astro 中的 id)。
Astro.request访问请求信息(仅 SSR 模式下)。
<slot />插槽,用于在布局组件中插入内容。
{}表达式插值,可在 HTML 中嵌入变量。

🌍 路由系统关键词

关键词含义
文件路由根据 src/pages 目录结构自动生成路由。
动态路由文件名中包含方括号的动态参数,如 [id].astro/123
嵌套路由文件夹结构自动形成嵌套路由,如 blog/[slug].astro/blog/post-name
getStaticPaths()返回静态页面路径集合,用于动态生成多页内容。
Astro.redirect()在构建或请求时重定向到其他路径。

💫 集成与前端框架

关键词含义
Integrations扩展 Astro 功能的插件机制(如 React/Vue 支持、Markdown 解析等)。
@astrojs/react让 Astro 能渲染 React 组件。
@astrojs/vue让 Astro 能渲染 Vue 组件。
@astrojs/svelte让 Astro 能渲染 Svelte 组件。
@astrojs/mdx支持在 .mdx 文件中混合使用 Markdown 与组件。

📖 Markdown 与内容系统

关键词含义
Content Collections内容集合系统,用于结构化管理 Markdown/MDX 内容。
FrontmatterMarkdown 文件顶部的元数据块(YAML 格式)。
Content Entry内容条目,即单个 Markdown 文件。
getCollection()从内容集合中读取文档数据的 API。
slugMarkdown 文件路径的简写 URL 标识。

⚡ 构建与部署

关键词含义
Static Site Generation (SSG)默认模式:在构建时生成静态 HTML。
Server-Side Rendering (SSR)在服务器上动态渲染页面。
Hybrid Rendering某些页面静态生成,部分页面 SSR。
Vercel / Netlify / Cloudflare常见 Astro 部署目标平台。
Astro preview本地运行已构建的产物以检查输出效果。

🎨 样式与资源

关键词含义
Scoped CSS.astro 文件内的 <style> 默认只作用于当前组件。
Global Styles添加 :global() 或导入全局样式文件。
Tailwind / UnoCSS / SCSS可通过集成插件直接使用。
Image Optimization通过 @astrojs/image 插件实现图片优化与懒加载。

🧠 进阶概念

关键词含义
Client Directive控制组件如何加载的指令,如 client:loadclient:visibleclient:idle
Astro Islands页面中可交互的独立 JS 模块(即“岛屿”)。
Astro.fetchContent()(旧版)获取内容的 API,现已由 Content Collections 替代。
Astro.glob()动态导入匹配的文件。
Astro.localsSSR 模式下共享的上下文对象。

🧰 常用 CLI 命令

命令功能
npm create astro@latest创建新项目。
npm run dev启动本地开发服务器。
npm run build构建静态网站。
npm run preview预览构建结果。
astro add [integration]安装并配置集成插件。

🔗 参考资料


🪐 总结

Astro 通过“静态优先 + 部分水合”理念,兼具性能与灵活性。
熟悉这些关键词,可以帮助你更快掌握 Astro 项目的组织、配置与渲染逻辑。

周植欧
周植欧
工程师 · 设计师

关注 Astro、Qt 与灯光系统,持续打造双语产品与沉浸式装置。

一起合作

相关文章

加入讨论

基于 GitHub Discussions 的 Giscus 评论系统。

Configure Giscus environment variables to enable comments.

PUBLIC_GISCUS_REPO="owner/name"
PUBLIC_GISCUS_REPO_ID="..."
PUBLIC_GISCUS_CATEGORY="Comments"
PUBLIC_GISCUS_CATEGORY_ID="..."