Skip to content

从 v5 迁移

环境 API

作为新的实验性 环境 API 的一部分,我们进行了大规模的内部重构。Vite 6 努力避免引入破坏性的变更,以确保大多数项目能够快速升级到新的主要版本。我们会等待大部分的生态系统迁移并稳定后,再开始推荐使用新的 API。可能会有一些边缘情况,但这些应该只会影响到框架和工具的底层使用。我们已经与生态系统中的维护者合作,在发布前减轻了这些差异。如果你发现了回退性问题,请 新建 issue

由于 Vite 的实现发生了改变,一些内部的 API 已经被移除了。如果你依赖于其中的某一个,那么请创建一个 feature request

Vite Runtime API

实验性的 Vite Runtime API 已经演变为模块运行器 API(Module Runner API),这是作为新的实验性 环境 API 的一部分,在 Vite 6 中发布。鉴于这个功能是实验性的,所以在 Vite 5.1 中引入的先前 API 的移除并不是一个破坏性的更改,但是用户在迁移到 Vite 6 的过程中,需要将他们的使用方式更新为与模块运行器相等的方式。

总体变化

JSON stringify

在 Vite 5 中,当设置 json.stringify: true 时,json.namedExports 会被禁用。

从 Vite 6 开始,即使设置了 json.stringify: truejson.namedExports 也不会被禁用。如果希望实现以前的行为,可以设置 json.namedExports: false

Vite 6 还为 json.stringify 引入了一个新的默认值,即 'auto',它只会对大型 JSON 文件进行字符串化处理。要禁用此行为,请设置 json.stringify: false

postcss-load-config

postcss-load-config 已从 v4 更新至 v6。现在需要 tsxjiti 来加载 TypeScript postcss 配置文件,而非 ts-node。此外,现在需要 yaml 来加​​载 YAML postcss 配置文件。

Sass 现在默认使用现代 API

在 Vite 5 中,Sass 默认使用传统 API。Vite 5.4 增加了对现代 API 的支持。

从 Vite 6 开始,Sass 默认使用现代 API。如果想继续使用传统 API,可以设置 css.preprocessorOptions.sass.api: 'legacy' / css.preprocessorOptions.scss.api: 'legacy'。但请注意,传统 API 支持将在 Vite 7 中移除。

要迁移到现代 API,请参阅 Sass 文档

进阶

还有其他一些只影响少数用户的破坏性更改。

从 v4 迁移

在 Vite v5 文档中查看 从 v4 迁移指南中文版),了解如何将你的应用迁移到 Vite v5,然后再处理本页中所提及的变化。

Released under the MIT License. (dev)