Nuxt3.14.0正式发布,具体升级了什么?

30 阅读
0 点赞
0 推荐

内容图片


一、亮点

(1)、更快的启动由jiti

加载 nuxt 配置文件以及模块和其他构建时代码现在由 v2 提供支持。您可以在jiti v2 发行说明jiti中查看有关该发行版的更多信息,但最重要的部分之一是本机节点 esm 导入(如果可能),这意味着启动速度更快。✨





二、与客户端/服务器共享代码和类型的共享文件夹

(1)、更快的启动由jiti

您永远不应在 nitro 代码中导入 Vue 应用代码(反之亦然)。但这意味着在共享依赖于 nitro/vue 上下文的类型或实用程序时会出现摩擦点。

为此,我们创建了一个新shared/文件夹 ( #28682 )。您无法将 Vue 或 nitro 代码导入此文件夹中的文件,但它会产生可在应用程序的其余部分使用的自动导入。

如果需要,您可以使用#shared指向该文件夹的新别名。

共享文件夹位于您的server/文件夹旁边。(如果您使用compatibilityVersion: 4,则表示它不在您的app/文件夹中。)

(2)、新的可组合项

我们有新的useResponseHeaderuseRuntimeHook组合项(#27131#29741)。



新的模块实用程序

我们现在有一个新的addServerTemplate实用程序 ( #29320 ),用于添加虚拟文件以供在 nitro 运行时路由内访问。




v4 变更

我们合并了一些仅在 时才生效的更改compatibilityVersion: 4,但您可以提前选择加入。

  1. 以前,如果您有这样的组件,~/components/App/Header.vue它将在您的 devtools 中显示为<Header>。从 v4 开始,我们确保这是<AppHeader>,但这是选择加入的,以避免破坏<KeepAlive>您可能已实施的任何手册。(#28745)。
  2. Nuxt 在调用 之前会扫描文件中的页面元数据pages:extend。但这会导致一些令人困惑的行为,因为此时添加的页面最终不会获得其页面元数据。因此,我们现在在调用 之前不会扫描元数据pages:extend。相反,我们有一个新的pages:resolved钩子,它会在 之后调用,即在所有页面都已用其元数据进行了扩充之后。我建议通过设置为pages:extend来选择此功能,因为它解决了许多错误。experimental.scanPageMetaafter-resolve




v3.15 路线图


内容图片








发布于:2024年11月08日 08:47:21 著作权归作者所有