构建速度到底快了多少?
Astro 官方给出的基准测试数字很直观。拿 astro.build 来说,构建时间从 62.70 秒降到了 24.24 秒;包含 8431 个页面的 Cloudflare 文档,构建时间从 386.89 秒降到了 261.94 秒。整体来看,构建速度提升在 15% 到 61% 之间,项目越大,收益越明显。
这种提升主要来自底层重写。编译器从 Go 换成了 Rust,Markdown 和 MDX 处理也迁移到新的 Rust 流水线,再加上基于队列的渲染引擎,以及 Vite 8 和 Rolldown 打包器,整个构建链路都变得更高效。
Rust 编译器带来了什么变化?
新编译器使用 oxc 解析,用 Lightning CSS 处理作用域。严格性提高了不少:未闭合标签会直接报错,无效嵌套按原样传递,元素间空白遵循 JSX 规则。换句话说,以前一些能蒙混过关的写法,现在会被拦下来。
这一点社区反应不太一样。有开发者数了数依赖项,从 v6 的 247 个降到了 v7 的 190 个,表示欢迎。也有人对更严格的 HTML 编译和 Markdown 切换不太适应。维护者回应说,流水线是可插拔的,unified 生态并没有消失。
Markdown 处理也换了新引擎
Astro 7 的 Markdown 处理改用了一个叫 Sätteri 的 Rust 处理器,基于 pulldown-cmark 和 Oxc 构建。内置了 GitHub Flavored Markdown、智能标点、标题 ID、数学公式和 Wiki 链接。如果你依赖 remark 或 rehype,旧流水线仍然可用,不用担心迁移成本。
还有哪些值得关注的新功能?
除了核心升级,Astro 7 随后推出的 7.1 和 7.2 也补了不少实用功能。
- 新增兼容 Hono 的
src/fetch.ts入口点,方便在服务端跑 API。 - 稳定了路由缓存,页面渲染更快。
- 实验性 CDN 提供商支持,部署选择更多。
- 为 AI 编码智能体提供了
astro dev --background和 JSON 日志功能。 - Astro 7.1 增加了 CSP 指令、
paginate()格式函数、--ignore-lock标志。 - Astro 7.2 引入了实验性增量构建,通过
getStaticPaths()返回cacheKey或使用entry.digest来启用。
如果你需要把站点部署到云上,通过阿里云代理商还能领取阿里云代金券,降低部署成本。比如 易枫顺 - 阿里云官方旗舰级代理商 就是个不错的选择。
FAQ
Q: Astro 7 的构建速度提升有多大?
A: 官方基准测试显示,构建速度提升在 15% 到 61% 之间。例如 astro.build 从 62.70 秒降到 24.24 秒,包含 8431 页的 Cloudflare 文档从 386.89 秒降到 261.94 秒。
Q: Astro 7 的 Markdown 处理有什么变化?
A: 改用了基于 Rust 的 Sätteri 处理器,内置 GFM、智能标点、标题 ID、数学公式和 Wiki 链接。依赖 remark 或 rehype 的项目仍可使用旧流水线。
Q: Astro 7 的编译器更严格了吗?
A: 是的。未闭合标签会报错,无效嵌套按原样传递,元素间空白遵循 JSX 规则。如果担心兼容性,可以调整流水线配置。
关于易枫顺
深圳市易枫顺网络科技有限公司是阿里云官方旗舰级代理商。提供云服务器ECS、云数据库RDS、对象存储OSS等阿里云全系产品官方特惠折扣与代金券申请,以及多云成本优化、企业上云一站式服务。客服热线:19520841949 - 易枫顺
来源:InfoQ