从 v6 迁移
Node.js 支持
Vite 不再支持已达到 EOL 的 Node.js 18。现在需要 Node.js 20.19+ / 22.12+。
默认浏览器目标变更
build.target 的默认浏览器值已更新为较新的浏览器。
- Chrome 87 → 107
- Edge 88 → 107
- Firefox 78 → 104
- Safari 14.0 → 16.0
这些浏览器版本与截至 2025-05-01 的 Baseline 广泛可用的功能集一致。换句话说,它们都在 2022-11-01 之前发布。
在 Vite 5 中,默认目标被命名为 'modules',但现在已不再可用。取而代之的是引入了一个新的默认目标 'baseline-widely-available'。
常规变更
移除 Sass 遗留 API 支持
如计划的那样,已移除对 Sass 遗留 API 的支持。Vite 现在仅支持现代 API。您可以移除 css.preprocessorOptions.sass.api / css.preprocessorOptions.scss.api 选项。
移除已弃用的特性
splitVendorChunkPlugin(在 v5.2.7 中已弃用)- 此插件最初是为了简化迁移到 Vite v2.9 而提供的。
- 如果需要控制代码块拆分行为,可以使用
build.rollupOptions.output.manualChunks选项。
transformIndexHtml的 Hook 级别enforce/transform(在 v4.0.0 中已弃用)- 此更改是为了使接口与 Rollup 的对象 Hook 对齐。
- 应该使用
order代替enforce,并且应该使用handler代替transform。
高级
还有其他一些重大变更,只会影响少数用户。
- [#19979] chore: declare version range for peer dependencies
- 为 CSS 预处理器指定了 peer dependencies 版本范围。
- [#20013] refactor: remove no-op
legacy.proxySsrExternalModules- 自 Vite 6 以来,
legacy.proxySsrExternalModules属性无效。现在已移除。
- 自 Vite 6 以来,
- [#19985] refactor!: remove deprecated no-op type only properties
- 以下未使用的属性现在已移除:
ModuleRunnerOptions.root、ViteDevServer._importGlobMap、ResolvePluginOptions.isFromTsImporter、ResolvePluginOptions.getDepsOptimizer、ResolvePluginOptions.shouldExternalize、ResolvePluginOptions.ssrConfig
- 以下未使用的属性现在已移除:
- [#19986] refactor: remove deprecated env api properties
- 这些属性从一开始就被弃用了。现在已移除。
- [#19987] refactor!: remove deprecated
HotBroadcasterrelated types- 这些类型是作为现在已弃用的 Runtime API 的一部分引入的。现在已移除:
HMRBroadcaster、HMRBroadcasterClient、ServerHMRChannel、HMRChannel
- 这些类型是作为现在已弃用的 Runtime API 的一部分引入的。现在已移除:
- [#19996] fix(ssr)!: don't access
Objectvariable in ssr transformed code- 现在模块运行器运行时上下文需要
__vite_ssr_exportName__。
- 现在模块运行器运行时上下文需要
- [#20045] fix: treat all
optimizeDeps.entriesvalues as globsoptimizeDeps.entries现在不接收字面字符串路径。相反,它总是接收 glob。
- [#20222] feat: apply some middlewares before
configureServerhook, [#20224] feat: apply some middlewares beforeconfigurePreviewServerhook- 一些中间件现在应用于
configureServer/configurePreviewServerHook 之前。请注意,如果您不希望某个特定路由应用server.cors/preview.cors选项,请确保从响应中删除相关的标头。
- 一些中间件现在应用于
从 v5 迁移
首先查看 Vite v6 文档中的 从 v5 迁移指南,了解将您的应用移植到 Vite 6 所需的更改,然后再继续进行此页面上的更改。