Skip to main content

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 de laravel-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.
Para ver el papel de Vite dentro del stack de frontend de Laravel, revisa primero la visión general en frontend.

Instalación y configuración

Comprobar Node

Necesitas Node.js (16 o superior) y npm.

Instalar dependencias

Un proyecto Laravel nuevo ya trae vite 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).
Con SPAs o Inertia se recomienda importar el CSS desde el JavaScript. En ese caso, elimina resources/css/app.css de los entry points y añade import '../css/app.css'; al principio de resources/js/app.js.

Servidor de desarrollo

Durante el desarrollo, npm run dev arranca el servidor de Vite. Al modificar archivos el navegador se actualiza automáticamente (HMR).
También puedes arrancarlo junto con el servidor de Laravel.
composer run dev arranca php artisan serve y npm run dev a la vez.

Recarga automática de vistas Blade

Con refresh: true el navegador se recarga automáticamente al guardar cambios en vistas Blade o rutas.
Con refresh: true se observan los siguientes directorios:
  • resources/views/**
  • app/Livewire/**
  • routes/**
  • lang/**

Build de producción

Antes de desplegar, ejecuta npm run build. Los assets se agrupan y se versionan en public/build/.
Ejemplo de la estructura resultante:
manifest.json mapea nombres de archivo a sus hashes; la directiva @vite() lo consulta para cargar los archivos correctos.
Como public/build/ es un artefacto de build, es recomendable añadirlo a .gitignore. Genera la build en el servidor de despliegue o en CI antes de desplegar.

Cargar assets desde Blade

Añade la directiva @vite() en el <head> de tu layout.
Si importas el CSS desde el JavaScript, basta con indicar el entry point de JS.
@vite() cambia automáticamente su comportamiento entre desarrollo y producción.

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 en resources/css/app.css.

Varios entry points

Cuando quieras assets distintos por página (por ejemplo, un panel de administración), declara varios entry points.
En Blade carga el entry point que corresponda.

Integración con Tailwind CSS

A partir de Tailwind CSS v4 se integra como plugin de Vite.
1

Instalar Tailwind

2

Añadir el plugin a vite.config.js

3

Importar Tailwind en el CSS

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.
Para añadir aliases personalizados usa resolve.alias.
Ejemplo de uso:

Configuración por framework

Vue

React

Con React añade en la plantilla Blade la directiva @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ón assets.
En Blade obtén la URL versionada con Vite::asset().

Resumen

Próximos pasos

Caché

Aprende a mejorar aún más el rendimiento de tu aplicación con el sistema de caché de Laravel.
Última modificación el 13 de julio de 2026