今天,我们发布了 Astro 4 的首个 Beta 版本!喜欢尝鲜的朋友可以安装新的 Beta 版,查看我们正在进行的升级文档,并将您发现的任何错误报告给 Astro Discord。
Astro 4 中值得期待的内容
我们发布 Astro 4 是为了与我们的内部构建工具 Vite 保持同步。Astro 4 包含了最新版本的 Vite 5,该版本已于上个月发布。
由于 Vite 5 也是一个较小的主要版本更新,因此大多数项目在升级到 Astro 4 时,代码只需进行极少的更改,甚至无需更改。
此外,在 Astro 4 中,我们计划将过去几个月一直在开发的一些新功能从实验性状态转为稳定版。敬请期待更多内容!
试用 Beta 版
您可以通过运行我们新的 @astrojs/upgrade
包在现有应用中试用 Beta 版。这个 CLI 工具将自动安装正确版本的 Astro 以及您已安装的任何官方 Astro 集成。
npx @astrojs/upgrade betapnpm dlx @astrojs/upgrade betayarn dlx @astrojs/upgrade beta
或者,您可以手动安装 astro@beta
包。请务必同时更新您已安装的任何 @astrojs/*
集成!
npm install astro@betapnpm install astro@betayarn install astro@beta
如果启动一个新项目,您也可以通过运行以下命令来试用 Beta 版:
npm create astro@latest -- --ref next
再次提醒,请替换为您喜欢的包管理器。我们尚未完成升级指南,但您已经可以在Astro 4.0 升级指南拉取请求中找到最重要的更改。您还可以关注其相关 issue,该 issue 正在跟踪所有破坏性更改。
Astro 3.6
此外,我们最近发布了 Astro 3.6,该版本在 <ViewTransitions />
路由中包含了新的事件,并在数据受限场景下为 prefetch
提供了回退功能。
视图过渡事件
Astro 3.6 在 <ViewTransitions />
路由的生命周期中添加了这三个新事件:
astro:before-preparation
在准备步骤之前立即运行,该步骤会加载新页面的内容。这可用于覆盖加载新页面的行为,例如显示加载指示器。
astro:after-preparation
在内容加载后运行。这可用于停止加载指示器(如果它是作为 astro:before-preparation
的一部分添加的)。
astro:before-swap
在交换步骤之前立即运行,该步骤会将旧页面的内容替换为新页面的内容。此事件包含 event.newDocument
属性,这是一个您可以修改的 Document
对象。此事件的一个用例是,如果您使用 localStorage
存储亮/暗模式偏好设置,则可以设置暗模式类名。
查看此演示,了解使用新事件可以实现的功能,并参阅文档获取关于所有五个生命周期事件的更多信息。
预取回退
以前,当用户处于慢速连接或启用了数据节省偏好设置时,预取会完全禁用。在 3.6 中,我们将预取策略更改为在 tap
(即用户开始点击链接但尚未释放时)时发生。这使我们在获取下一页时能够稍微抢占先机,但仅限于我们非常确定用户打算点击的情况。
错误修复
此版本还包括其他错误修复。请查看发布说明以了解更多信息。