Descripcion General de Vite 6
Vite 6, con la introduccion del Environment API, ahora permite controlar de manera mas flexible los builds para server-side rendering y entornos edge.
Environment API
Ahora es posible configurar individualmente diferentes entornos de ejecucion (navegador, Node.js, edge).
// vite.config.ts
import { defineConfig } from 'vite';
export default defineConfig({
environments: {
client: {
build: {
outDir: 'dist/client',
rollupOptions: {
input: 'src/client/entry.ts'
}
}
},
ssr: {
build: {
outDir: 'dist/server',
ssr: true
}
},
edge: {
build: {
outDir: 'dist/edge',
target: 'esnext'
}
}
}
});
Mejoras del Servidor de Desarrollo
HMR Mas Rapido
Hot Module Replacement se ha vuelto aun mas rapido.
Vite 5: Deteccion de actualizacion → Transformacion → Aplicacion: 50-100ms
Vite 6: Deteccion de actualizacion → Transformacion → Aplicacion: 20-50ms
Mejoras en Pre-bundling de Dependencias
export default defineConfig({
optimizeDeps: {
// Control detallado de objetivos de pre-bundling
include: ['react', 'react-dom'],
exclude: ['@my-org/internal-lib'],
// Personalizacion de opciones de ESBuild
esbuildOptions: {
target: 'esnext'
}
}
});
Optimizacion de Build
Compatibilidad con Rollup 4
Vite 6 adopta Rollup 4, mejorando el rendimiento del build.
export default defineConfig({
build: {
rollupOptions: {
output: {
// Division de chunks mas inteligente
manualChunks: {
vendor: ['react', 'react-dom'],
utils: ['lodash-es', 'date-fns']
}
}
}
}
});
Mejoras en Procesamiento de CSS
export default defineConfig({
css: {
// Soporte completo de Lightning CSS
transformer: 'lightningcss',
lightningcss: {
targets: {
chrome: 100
}
}
}
});
Nueva API de Plugins
Hooks Adicionales
const myPlugin = () => ({
name: 'my-plugin',
// Nuevos hooks
hotUpdate({ file, modules }) {
// Procesamiento personalizado durante HMR
},
// Configuracion por entorno
configEnvironment(name, config) {
if (name === 'ssr') {
config.resolve.conditions.push('node');
}
}
});
Guia de Migracion
Principales Cambios Incompatibles
| Cambio | Solucion |
|---|---|
| Node.js 18+ requerido | Actualizar Node.js |
| Formato CJS deprecado | Migrar a formato ESM |
| Cambios en algunas firmas de API | Consultar documentacion |
Migracion de Configuracion
// Vite 5
export default defineConfig({
ssr: {
target: 'node'
}
});
// Vite 6
export default defineConfig({
environments: {
ssr: {
build: {
ssr: true
}
}
}
});
Resumen
Vite 6, con el Environment API, ahora permite gestionar configuraciones de build complejas de manera mas flexible. Los proyectos que utilizan SSR o edge computing se beneficiaran especialmente.
← Volver a la lista