Skip to content

从V5迁移

环境API

作为新的实验环境API的一部分,需要进行大型内部重构。 Vite 6努力避免打破变化,以确保大多数项目可以快速升级到新专业。我们将等到生态系统的很大一部分已移动以稳定并开始建议使用新API。可能有一些边缘情况,但这些情况只能通过框架和工具影响低级使用。我们已经与生态系统中的维护人员合作,以减轻发布之前的差异。如果您发现回归,请打开问题

由于Vite实施的变化,已删除了一些内部API。如果您依靠其中一个,请创建一个功能请求

Vite运行时API

实验性Vite运行时API演变为模块Runner API,作为新实验环境API的一部分,以Vite 6发布。鉴于该功能是实验性的,因此删除了Vite 5.1中引入的先前API并不是打破的变化,但是用户需要将其使用到模块跑步者等效的用途,这是迁移到Vite 6的一部分。

一般变化

resolve.conditions的默认值

此更改不会影响未配置resolve.conditions / ssr.resolve.conditions ssr.resolve.externalConditions用户。

在Vite 5中, resolve.conditions的默认值为[] ,内部添加了一些条件。 ssr.resolve.conditions的默认值是resolve.conditions的值。

从VITE 6中,某些条件不再内部添加,需要包含在配置值中。 内部不再添加的条件

  • resolve.conditions是`['模块','浏览器','开发|生产']``
  • ssr.resolve.conditions是`['模块','node','开发|生产']``

这些选项的默认值已更新为相应的值,而ssr.resolve.conditions不再使用resolve.conditions作为默认值。请注意,开发|生产is a special variable that is replaced with生产or开发depending on the value of process.env.node_env . These default values are exported from vite as DefaultClientConditions and defaultServerConditions`。

如果指定了resolve.conditionsssr.resolve.conditions自定义值,则需要对其进行更新以包括新条件。 例如,如果先前指定为resolve.conditions ['custom'] ,则需要指定['custom', ...defaultClientConditions]

json stringify

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

从VITE 6中,即使设置了json.stringify: true ,也没有禁用json.namedExports ,并尊重该值。如果您想实现先前的行为,则可以设置json.namedExports: false

Vite 6还引入了一个新的默认值json.stringify ,即'auto' ,它将仅串制大型JSON文件。要禁用此行为,请集json.stringify: false

HTML元素中资产参考的扩展支持

在Vite 5中,只有几个支持的HTML元素能够参考将通过Vite处理和捆绑的资产,例如<link id="!"> <img id="#">

Vite 6将支持扩展到更多的HTML元素。完整列表可以在HTML功能文档中找到。

要在某些元素上选择退出HTML处理,您可以在元素上添加vite-ignore属性。

Postcss-Load-Config

postcss-load-config已从V4更新为V6。现在需要tsxjiti加载Typescript Postcss配置文件而不是ts-node 。现在也需要yaml加载YAML Postcss配置文件。

SASS现在默认使用现代API

在Vite 5中,默认情况下使用了遗留API作为SASS。 Vite 5.4增加了对现代API的支持。

从Vite 6中,默认情况下将现代API用于SASS。如果您仍然希望使用旧式API,则可以设置css.preprocessorOptions.scss.api: 'legacy' css.preprocessorOptions.sass.api: 'legacy'但是请注意,将在VITE 7中删除遗产API支持。

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

在库模式下自定义CSS输出文件名

在VITE 5中,库模式下的CSS输出文件名称始终为style.css ,并且无法通过Vite Config轻松更改。

从Vite 6中,默认文件名称现在使用package.json中的"name"类似于JS输出文件。如果用字符串设置build.lib.fileName ,则该值也将用于CSS输出文件名。要明确设置不同的CSS文件名,您可以使用新的build.lib.cssFileName来配置它。

要迁移,如果您依赖style.css文件名,则应根据包装名称将其更新到新名称。例如:

package.json
json
{
  "name": "my-lib",
  "exports": {
    "./style.css": "./dist/style.css"
    "./style.css": "./dist/my-lib.css"
  }
}

如果您喜欢像Vite 5一样坚持使用style.css ,则可以设置build.lib.cssFileName: 'style'

先进的

还有其他破裂的变化,只会影响少数用户。

从V4迁移

首先检查VITE V5文档中V4指南的迁移,以查看将应用程序移植到Vite 5的所需更改,然后继续此页面上的更改。

Released under the MIT License. (dev)