隆重推出 Astro 2.0! Astro 是一款流行的 Web 框架,用于构建高性能、以内容为中心的网站。我们的下一代前端架构(称为 Astro Islands)可以优化您的网站,使其加载速度提升 33%,JavaScript 使用量减少 90%,同时仍可使用您喜爱的 UI 框架,如 React、Svelte 和 Vue。
Astro 2.0 是第一个为 Markdown 和 MDX 提供完整类型安全的主要 Web 框架。 Astro 现在通过内置解析、验证和自动 TypeScript 类型生成,帮助您组织 Markdown 内容。这一新版本对于在 Web 上使用 Markdown 的任何人来说都是一个颠覆性的改变。
完整发布亮点列表包括
- 内容集合:为 Markdown & MDX 提供自动类型安全。
- 混合渲染:静态?动态?两全其美。
- 重新设计的错误覆盖层
- 改进的开发服务器 (HMR)
- Vite 4.0
- 新的公开路线图
Astro 2.0 今天已在 npm 上发布。运行 npm i astro@latest
升级现有项目,或访问 astro.new 从头开始一个新项目(直接在浏览器中)。
Markdown & MDX 的自动类型安全

Astro 2.0 旨在解决现代 Web 开发中一个被忽视的问题:使用 Markdown/MDX 很难。
当您有数百个不同的文件——博客文章、新闻稿、产品——时,保持一致性可能变得不可能。一个缺失或拼写错误的 frontmatter 属性,砰!您的整个网站可能会崩溃,并显示一个无用的 cannot read undefined
错误等您修复。
Astro 2.0 通过我们全新的 内容集合 API 重新构想了围绕内容的开发者体验。将您的 Markdown 和 MDX 文件组织到不同的集合中(例如 “blog”
、“newsletter”
、"products"
),剩下的交给 Astro 处理。
- Schema 验证
- SEO 最佳实践
- 信息丰富的错误消息
- 自动生成类型
- 内联类型错误、自动完成及更多!
要了解更多内容集合信息,请查看我们的专题文章:隆重推出内容集合:Astro 2.0 中的类型安全 Markdown。
混合渲染:静态与动态的结合

近一年来,Astro 允许您选择静态 (SSG) 或服务器 (SSR) 构建输出。静态网站提供令人难以置信的性能,但它们缺乏为每个请求按需生成 HTML 的能力。
Astro 2.0 通过混合渲染结合了两者的优点。混合渲染让您可以在不放弃已部署服务器的情况下预渲染特定页面。预渲染会提前构建页面,以便所有请求都能即时加载。
将静态和动态内容结合起来,为 Astro 带来了全新的可能性,包括
- 提高热门页面的渲染性能
- 提高大型站点的构建性能
- 为您现有的静态网站添加 API
在我们的服务器端渲染指南中了解更多混合渲染。本周晚些时候再回来查看 Nate Moore 对混合渲染世界的更深入探讨。
错误,重新设计

错误覆盖层是 Astro 提供的最重要的 UI 组件之一。当出现问题时,它是作为开发者您看到的第一样东西。当您调试问题时,它通常是您开始的地方。
Astro 2.0 完全重新设计了错误体验,采用了全新的 Astro 外观和感觉。此外,新的错误覆盖层比以前提供了更多信息,例如解决错误的有用提示以及一个可以在您喜欢的编辑器中跳转到代码的按钮。
开发服务器优化

Astro 2.0 突显了数月以来在提升 Astro 开发服务器性能和可靠性方面的投入,尤其是在热模块重载 (HMR) 方面。
过去几个月,Astro 用户从这些改进的增量发布中受益匪浅,最终在今天的发布中达到顶峰。Astro 2.0 标志着所有这些改进首次在一个版本中共同提供。
Vite 4.0

Astro 2.0 包括对其最重要的内部依赖之一 Vite 的重大内部升级。
Vite 是驱动 Astro 内部构建引擎的重要工具。Vite 4.0——Vite 团队的最新版本——包含了几项重要的改进和错误修复,所有 Astro 用户都将从中受益。
Vite 4.0 中的一些改进来自我们自己的队友 Bjorn Lu,他也是 Vite 项目的维护者。他为改善 Astro 的 Vite 性能所做的研究促成了 Vite 4.0 的多项拉取请求,现在所有 Vite 用户都可以从中受益。谢谢你,Bjorn!
Astro 开放路线图

最后但同样重要的是,我们很高兴正式推出 Astro 的新公开路线图。
Astro 始终采用开放的 RFC(征求意见稿)流程。任何人都可以提出新功能的想法,我们的社区会在 Discord 上每周进行电话会议讨论这些想法。
然而,在实践中,我们的 RFC 流程未能为贡献者提供足够的指导。RFC 是冗长、详细的文档,创建起来需要付出相当大的努力。有些人觉得这个过程令人望而却步。另一些人创建了 RFC,后来才发现他们的想法不可行。这两种情况都让我们感到沮丧。
我们的新路线图通过降低新想法和提案的门槛来解决这些缺点。新想法可以在正式的 RFC 撰写之前进行讨论甚至被接受(即:优先处理)。Astro 维护者甚至会在流程的早期提供指导,以帮助发现问题并讨论功能优先级。
您可以在 withastro/roadmap 仓库中阅读更多关于我们新路线图的信息。如果您有 Astro 的功能请求,请前往该仓库参与其中。
立即体验 Astro 2.0
Astro 2.0 今天已在 npm 上发布。通过运行 npm i astro@latest
升级现有项目,或访问 astro.new 直接在浏览器中启动一个新的 Astro 项目。
想了解更多?今天下午太平洋标准时间 12 点,收听一场特别的 Twitter Space,嘉宾有 Cassidy Williams!您还可以查看这些精彩的发布日视频和教程以了解更多信息