Migración desde v6
Soporte de Node.js
Vite ya no admite Node.js 18, que alcanzó su fin de vida útil. Ahora se requiere Node.js 20.19+ / 22.12+.
Cambio en el objetivo predeterminado del navegador
El valor predeterminado de build.target
se ha actualizado a un navegador más reciente.
- Chrome 87 → 107
- Edge 88 → 107
- Firefox 78 → 104
- Safari 14.0 → 16.0
Estas versiones de navegador se alinean con los conjuntos de características "Baseline" ("Widely Available") Web Platform DX configurados hasta 2025-05-01. En otras palabras, todas se lanzaron antes del 2022-11-01.
En Vite 5, el objetivo predeterminado se llamaba 'modules'
, pero ya no está disponible. En su lugar, se introduce un nuevo objetivo predeterminado 'baseline-widely-available'
.
Cambios generales
Eliminación del soporte para la API heredada de Sass
Tal como se planeó, se eliminó el soporte para la API heredada de Sass. Vite ahora solo admite la API moderna. Puedes eliminar la opción css.preprocessorOptions.sass.api
/ css.preprocessorOptions.scss.api
.
Características obsoletas eliminadas
splitVendorChunkPlugin
(obsoleto en v5.2.7)- Este plugin se proporcionó originalmente para facilitar la migración a Vite v2.9.
- La opción
build.rollupOptions.output.manualChunks
se puede usar para controlar el comportamiento de los fragmentos si es necesario.
- Hook-level
enforce
/transform
paratransformIndexHtml
(obsoleto en v4.0.0)- Se cambió para alinear la interfaz con los hooks de objeto de Rollup.
- Debe usarse
order
en lugar deenforce
, yhandler
en lugar detransform
.
Avanzado
Existen otros cambios que solo afectan a pocos usuarios.
- [#19979] chore: declare version range for peer dependencies
- Se especificó el rango de versiones de las dependencias de pares para los preprocesadores de CSS.
- [#20013] refactor: remove no-op
legacy.proxySsrExternalModules
- La propiedad
legacy.proxySsrExternalModules
no tenía efecto desde Vite 6. Ahora se ha eliminado.
- La propiedad
- [#19985] refactor!: remove deprecated no-op type only properties
- Las siguientes propiedades inutilizadas se han eliminado:
ModuleRunnerOptions.root
,ViteDevServer._importGlobMap
,ResolvePluginOptions.isFromTsImporter
,ResolvePluginOptions.getDepsOptimizer
,ResolvePluginOptions.shouldExternalize
,ResolvePluginOptions.ssrConfig
- Las siguientes propiedades inutilizadas se han eliminado:
- [#19986] refactor: remove deprecated env api properties
- Estas propiedades estaban obsoletas desde el principio. Ahora se han eliminado.
- [#19987] refactor!: remove deprecated
HotBroadcaster
related types- Estos tipos se introdujeron como parte de la ahora obsoleta API de Runtime. Ahora se han eliminado:
HMRBroadcaster
,HMRBroadcasterClient
,ServerHMRChannel
,HMRChannel
- Estos tipos se introdujeron como parte de la ahora obsoleta API de Runtime. Ahora se han eliminado:
- [#19996] fix(ssr)!: don't access
Object
variable in ssr transformed code- Ahora se requiere
__vite_ssr_exportName__
para el contexto de ejecución de la capa de runtime.
- Ahora se requiere
- [#20045] fix: treat all
optimizeDeps.entries
values as globs- Ahora
optimizeDeps.entries
no recibe rutas literales. En su lugar, siempre recibe patrones globales.
- Ahora
- [#20222] feat: apply some middlewares before
configureServer
hook, [#20224] feat: apply some middlewares beforeconfigurePreviewServer
hook- Ahora se aplican algunos middlewares antes del hook
configureServer
/configurePreviewServer
. Ten en cuenta que si no espera que una ruta determinada aplique la opciónserver.cors
/preview.cors
, asegúrate de eliminar los encabezados relacionados de la respuesta.
- Ahora se aplican algunos middlewares antes del hook
Migración desde v5
Primero, asegúrate de leer la guía de migración desde v5 en la documentación de Vite v6 para ver los cambios necesarios para portar tu aplicación a Vite 6, y luego realiza los cambios de esta página.