用途:这是一份面向 Astro 项目的知识补丁技能,建议在创建、升级或调试 Astro 项目前使用。先查看破坏性变更检查,再打开与当前工作匹配的主题参考。
主要能力(按主题): 升级与破坏性变更:运行时要求、工具链变更、转正标志、移除的 API、迁移路径。 路由、渲染与缓存:server islands、重定向、endpoints、预渲染、排队渲染、路由缓存、高级路由。 内容、数据与 Actions:构建期与实时 collections、loaders、生成的 schema、Astro DB、Action 输入类型。 Markdown 与 MDX:Sätteri、unified、TOML frontmatter、高亮、标题 ID、SmartyPants。 图片、字体与样式:响应式图片、Sharp、SVG 组件与优化、Fonts API。 安全、会话与环境:CSP、类型化环境变量、会话、cookies。 适配器与集成:Netlify、Node、Cloudflare、Vercel、React、Svelte、sitemap、Adapter API。 配置、工具与 API:类型化配置、编程式构建、host 允许列表、编译器、日志、后台开发。 Starlight:侧边栏生成、默认语言链接、CJK 间距。
必要用法与检查要点: Astro 7 中,Markdown/MDX 默认使用 Sätteri 并启用 GFM;若依赖 remark/rehype 插件需显式选择 unified()。排队渲染已稳定且自动,应移除 experimental.queuedRendering;cache 与 routeRules 移出 experimental;logger 移出 experimental,--experimentalJson 改为 --json。仅在替换或组合 Astro 正常请求管线时,把高级路由 handler 放在 src/fetch.ts。 Astro 6 需 Node.js 22+,依赖对齐 Vite 7、Shiki 4、Zod 4,从 astro/zod 导入 Zod;experimental.csp 移至 security.csp,experimental.fonts 移至顶层 fonts,experimental.svgo 改为 experimental.svgOptimizer。 已弃用形式:hybrid 输出改用默认 static 加按路由 prerender = false;顶层 Markdown 插件选项改用 markdown.processor: unified({...});AstroCookies.consume(cookies) 改用 cookies.consume();SVG 的 title/size/mode 属性改用 aria-label、显式尺寸和内联 SVG;experimental.serializeConfig 改用稳定的 astro:config/client 与 astro:config/server;experimental.session 改用稳定顶层 session 配置;experimental.responsiveImages 改用稳定的 image.responsiveStyles 与 image.layout。
限制:Sätteri 不执行 remark 或 rehype 插件;live collections 不经过 Content Layer 持久化,也不支持运行时 MDX 或图片优化;SVG 光栅化默认禁用,仅对可信来源启用 dangerouslyProcessSVG;远程图片重定向限十跳且每跳都需在允许列表;memoryCache() 主要配合 Node 适配器使用;预渲染页面的 CSP 指令需适配器支持静态响应头。
适用场景:Astro 项目的版本升级、迁移排错、配置与集成调整等需要对照官方检查清单的开发工作。