Release·  

v4 路线图

我们有一些关于 Nuxt 4 路线图的激动人心的消息,包括新的时间表以及接下来几周的预期内容。
Daniel Roe

Daniel Roe

@danielroe.dev

我们原计划在 2024 年 6 月发布 Nuxt 4,但事情并不总是按计划进行。我认为现在采取不同的策略更为合适:

👉 Nuxt 4 alpha 将于 2025 年 6 月 2 日发布,稳定版本将在月底发布。Nuxt 5 将在 Nitro v3 准备就绪后推出。

为什么要两个版本?

老实说,事后看来,我认为我们本该去年发布 Nuxt v4。这样能够更好地符合我们每年一次审慎大版本发布的计划。

另一方面,这也让我们有时间在众多项目中进行测试,可以通过一个开关选择使用 Nuxt 4 的破坏性变更。我认为我们应该发布这些变更作为 Nuxt v4,原因有两个:

  1. 已经有人在使用它了。我经常听说有团队在生产环境中使用 compatibilityVersion: 4。这个选项原本仅用于测试,但已经证明足够稳定适合生产环境。我们希望将其正式发布,给这些团队稳定版的保障。
  2. 这会改善迁移过程。采用从 v3 -> v4 再到 v4 -> v5 的两阶段迁移会使升级更顺畅。我们还没有确定 Nitro v3 的最终破坏性变更列表,这意味着我们可以花足够时间确保 Nitro 升级顺利,同时不延迟去年以来计划的 Nuxt 变更的采用。

此外,未来我们将尽最大努力将 Nuxt 发布与其关键依赖(如 Vite 或 Nitro)解耦。

含有哪些内容?

Nuxt 4 包含你一直用 compatibilityVersion: 4 测试的所有功能:

  • 🗂️ 新目录结构 - 代码放在 app/,结构更清晰,IDE 性能更佳
  • 🔄 改进的数据获取 - 更智能的 useAsyncDatauseFetch,具备更好的缓存和清理机制
  • 🏷️ 一致的组件名称 - Vue DevTools 和 <KeepAlive> 现在显示与 Nuxt 自动导入相同的名称
  • 📄 增强的头部管理 - 放弃 Unhead v2 的过时功能,性能更好,标签优化更佳

…以及许多其他改进,详见升级指南。我们还将发布若干额外改动,包括:

  • 为采用 Vite 环境 API 做准备(使用单一开发服务器)
  • 改进环境类型处理(针对服务器、客户端和共享代码)

Nitro 进展如何?

我们不会延迟 Nitro v3 的采用。我们计划 Nuxt 5 与 Nitro v3 同时发布,时间与我们最初计划一致,即使那是在 Nuxt v4 发布几个月之后。

尽管过去一年经历了延迟,Nitro 的进展非常惊人。作为整个团队,我们对 Nitro v3 和 h3 v2 的规划感到非常兴奋。

虽然 Nuxt 4 初期不会包含这些升级,但 Nuxt v4 和 Nitro v3 同步发布,将使我们在 Nuxt 5 推出时能够更彻底地测试 Nuxt 和 Nitro 在整个生态系统中的表现。

Nuxt 3 怎么办?

Nuxt 4 稳定版本首次发布后,我们会继续维护和支持 Nuxt 3 —— 并且在 Nuxt 5 发布后仍同时支持 Nuxt 3 和 Nuxt 4。我们有意将这些版本的支持周期设为 六个月,因为我们相信升级路径会很顺利。

(我发布 Nuxt 4 升级版本的主要目标是保证升级尽可能顺畅。)

不过,我会密切关注生态系统升级的速度和成效。如果出现问题,我肯定会延长那六个月的维护支持期。我们绝不希望抛弃任何用户。

这一段时间内,意味着我们会在三个版本之间积极回溯特性和修复。但我认为这很值得。毕竟——过去一年我们就是这样为 Nuxt 4 做准备的。

Nuxt 3持续更新直至 2025 年底
Nuxt 4支持至 2026 年中(预计)
Nuxt 5按照我们通常的模式提供长期支持

接下来怎么办?

今天我们发布 Nuxt v4 alpha 1!欢迎早期用户进行测试。遇到任何问题,请向 Nuxt 或你所使用的模块反馈。

目前处于 alpha 阶段,我们仍计划进行额外的破坏性变更(且预计会有 Bug 或“摩擦”);处于 beta 阶段时不计划破坏性变更,但若有必要则可能出现;候选发布阶段我们预计只做 Bug 修复。

接下来几周你可以期待这些事情:

  • 我们计划为社区模块向 nuxt/modules 仓库提交上游 PR,并为模块作者创建迁移指南。
  • 我们将为 Nuxt 3 用户制作完整的升级指南,包含破坏性变更列表及迁移方法。(当前升级指南只说明了如何启用兼容模式,和 Nuxt 4 仍有差异。)
  • 本月我们只发布 v3 的 Bug 修复,推迟新功能回溯直到 v4 发布之后。
  • 我们会更新 nuxt.com 上的文档,允许在 3.x4.x 和(即将)5.x 文档间切换。
  • 一旦发布候选版本(目标是 6 月 23 日),期待大家参与最后一轮测试。此阶段以后只会发布 Bug 修复。
  • v4 发布后,我们将把 main 分支分离成 4.x,以采用 h3nitro 的边缘版本,并开始 Nuxt 5 开发。
你可以通过查看 GitHub 上的剩余任务Nuxt 4 里程碑来跟踪剩余工作的进展。

我对这个时间表感到非常兴奋 —— 感谢你们过去一年以来的耐心和信任!