Qué son Laravel y Vite
Vite es una herramienta de build de frontend muy rápida. Durante el desarrollo aplica los cambios de forma instantánea gracias a Hot Module Replacement (HMR) y, para producción, genera assets optimizados. Desde Laravel 9, Vite es la herramienta oficial de build del framework y se integra a través delaravel-vite-plugin. Sus funciones principales son:
- Gestión de los entry points.
- Soporte HMR con el servidor de desarrollo.
- Integración con la directiva Blade
@vite(). - Versionado de los assets (cache busting) en la build de producción.
Si usas un starter kit de Laravel (por ejemplo Laravel Breeze), la configuración de Vite y Tailwind ya viene incluida. Esta página describe cómo hacerlo desde cero.
Instalación y configuración
Comprobar Node
Necesitas Node.js (16 o superior) y npm.Instalar dependencias
Un proyecto Laravel nuevo ya traevite y laravel-vite-plugin en package.json. Instala las dependencias con:
Configurar vite.config.js
En la raíz del proyecto se genera vite.config.js. Indica los entry points (archivos desde los que se construye el bundle).
Servidor de desarrollo
Durante el desarrollo,npm run dev arranca el servidor de Vite. Al modificar archivos el navegador se actualiza automáticamente (HMR).
composer run dev arranca php artisan serve y npm run dev a la vez.Recarga automática de vistas Blade
Conrefresh: true el navegador se recarga automáticamente al guardar cambios en vistas Blade o rutas.
refresh: true se observan los siguientes directorios:
resources/views/**app/Livewire/**routes/**lang/**
Build de producción
Antes de desplegar, ejecutanpm run build. Los assets se agrupan y se versionan en public/build/.
manifest.json mapea nombres de archivo a sus hashes; la directiva @vite() lo consulta para cargar los archivos correctos.
Cargar assets desde Blade
Añade la directiva@vite() en el <head> de tu layout.
@vite() cambia automáticamente su comportamiento entre desarrollo y producción.
| Situación | Comportamiento |
|---|---|
| Servidor de desarrollo activo | Carga los assets desde Vite y activa HMR |
| Producción (build hecha) | Consulta public/build/manifest.json y carga los archivos versionados |
Entry points de JavaScript y CSS
JavaScript
resources/js/app.js es el entry point principal. Desde ahí importas los demás módulos.
CSS
Escribe los estilos globales enresources/css/app.css.
Varios entry points
Cuando quieras assets distintos por página (por ejemplo, un panel de administración), declara varios entry points.Integración con Tailwind CSS
A partir de Tailwind CSS v4 se integra como plugin de Vite.Con Tailwind CSS v3 necesitas
tailwind.config.js y postcss.config.js. En Tailwind CSS v4 esos archivos ya no son necesarios.Aliases
laravel-vite-plugin configura automáticamente el alias @, que apunta a resources/js.
resolve.alias.
Configuración por framework
Vue
React
@viteReactRefresh antes de @vite.
Assets estáticos
Vite también puede versionar imágenes y fuentes referenciadas desde Blade. Indica los directorios en la opciónassets.
Vite::asset().
Resumen
| Objetivo | Cómo hacerlo |
|---|---|
| Arrancar el servidor de desarrollo | npm run dev |
| Generar la build de producción | npm run build |
| Cargar assets desde Blade | @vite(['resources/css/app.css', 'resources/js/app.js']) |
| Recarga automática al editar vistas | refresh: true en vite.config.js |
| Usar Tailwind CSS | Añadir el plugin @tailwindcss/vite |
Usar el alias @ | Por defecto apunta a resources/js |
| Versionar assets estáticos | Opción assets y Vite::asset() |
Próximos pasos
Caché
Aprende a mejorar aún más el rendimiento de tu aplicación con el sistema de caché de Laravel.