Saltar al contenido

Buscar en Neoguias

Ver todos los resultados →
Avatar de Edu Lázaro

Cómo instalar Tailwind CSS en Laravel

En este tutorial vamos a ver cómo instalar Tailwind CSS 4 en Laravel con Vite. Crearemos una vista Blade, compilaremos sus estilos y comprobaremos que las clases de Tailwind aparecen en el navegador.

Introducción

Necesitas PHP y Composer compatibles con tu versión de Laravel, además de Node.js y npm compatibles con Vite. Compruébalos antes de empezar:

php --version
composer --version
node --version
npm --version

Si necesitas preparar Node.js en Ubuntu, consulta la guía de instalación con NVM. También conviene conocer lo básico de HTML y de la terminal.

Esta guía utiliza Tailwind 4. Los comandos npx tailwindcss init -p y las directivas @tailwind base, @tailwind components y @tailwind utilities pertenecen al flujo anterior de Tailwind 3. Si mantienes un proyecto antiguo, revisa primero la guía oficial de actualización.

Instalación de Laravel

Si ya tienes un proyecto Laravel con Vite, accede a su carpeta y continúa con el siguiente apartado. Para crear uno de ejemplo con Laravel 13, ejecuta:

composer create-project laravel/laravel nuevo-proyecto "^13.0"
cd nuevo-proyecto
npm install

Puedes consultar los requisitos de PHP y las otras opciones de instalación en la documentación de Laravel.

Instalación de Tailwind CSS en Laravel

Primero comprueba si la plantilla de Laravel ya incluye los paquetes y su configuración:

npm ls tailwindcss @tailwindcss/vite

Si ya utiliza Tailwind 4, conserva la configuración existente. En un proyecto con Vite que todavía no lo tenga, instala:

npm install -D tailwindcss@^4 @tailwindcss/vite@^4

El plugin de Vite se encargará de integrar Tailwind en la compilación. Con estos dos paquetes ya tendrás las dependencias necesarias para seguir el ejemplo.

Instalación de Tailwind en Laravel usando Vite

A continuación edita vite.config.js y agrega el plugin de Tailwind a los que ya utilice tu aplicación. Si tu proyecto utiliza TypeScript, el archivo se llamará vite.config.ts:

import { defineConfig } from 'vite'
import laravel from 'laravel-vite-plugin'
import tailwindcss from '@tailwindcss/vite'

export default defineConfig({
  plugins: [
    laravel({
      input: ['resources/css/app.css', 'resources/js/app.js'],
      refresh: true,
    }),
    tailwindcss(),
  ],
})

Importa Tailwind desde resources/css/app.css e indica las plantillas que deben examinarse:

@import "tailwindcss";

@source "../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php";
@source "../../storage/framework/views/*.php";
@source "../**/*.blade.php";
@source "../**/*.js";

Las rutas de @source son relativas a ese archivo CSS. Si tu aplicación utiliza componentes Vue o Svelte, añade las rutas que correspondan, sin borrar las que ya estén configuradas. Este es el flujo descrito en la instalación oficial para Laravel y Vite.

Instalación de Tailwind en Laravel usando Laravel Mix

Laravel Mix pertenece a proyectos anteriores basados en Webpack. Para migrar uno de esos proyectos a Vite tendrás que adaptar sus entradas, scripts y vistas. Para un proyecto nuevo utiliza Vite; para uno existente consulta la integración de Vite en Laravel.

Si necesitas mantener temporalmente Tailwind 3 y Mix, utiliza la documentación de esa versión. Los pasos de este artículo corresponden a Tailwind 4 y Vite.

Cómo usar Sass con Tailwind en Laravel

Tailwind 4 está pensado para utilizarse directamente con CSS. Por ello, mantendremos los estilos del ejemplo en app.css. La documentación de compatibilidad explica esta limitación y las funciones CSS que reemplazan algunos usos de preprocesadores.

Configura Sass con Tailwind en Laravel usando Vite

Si una aplicación existente tiene estilos Sass, revisa su compilación por separado. La entrada de Tailwind de este ejemplo continúa siendo resources/css/app.css.

Configura Sass con Tailwind en Laravel usando Laravel Mix

Si mantienes una aplicación anterior con Mix y Sass, comprueba las versiones antes de actualizarla. Esa configuración requiere revisar conjuntamente Mix, Sass y la versión de Tailwind utilizada.

Cómo usar Tailwind en Laravel

Crea resources/views/tailwind-demo.blade.php con esta vista:

<!doctype html>
<html lang="es">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tailwind en Laravel</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
  </head>
  <body class="grid min-h-screen place-items-center bg-slate-100 p-6">
    <main class="w-full max-w-lg rounded-2xl bg-white p-8 shadow-lg">
      <p class="mb-3 text-sm font-semibold tracking-wide text-indigo-600">
        LARAVEL + TAILWIND CSS 4
      </p>
      <h1 class="text-3xl font-bold text-slate-900">
        Tu primera vista con Tailwind
      </h1>
      <p class="mt-4 leading-relaxed text-slate-600">
        Esta tarjeta utiliza clases compiladas con Vite.
      </p>
      <a href="https://tailwindcss.com/docs"
         class="mt-6 inline-flex rounded-lg bg-indigo-600 px-5 py-3 font-semibold text-white hover:bg-indigo-700">
        Consultar la documentación
      </a>
    </main>
  </body>
</html>

En routes/web.php, conserva la importación de Route y agrega esta ruta:

Route::view('/tailwind-demo', 'tailwind-demo');

En una terminal, inicia Laravel:

php artisan serve

En otra, dentro del mismo proyecto, inicia Vite:

npm run dev

Abre http://127.0.0.1:8000/tailwind-demo, o la dirección que haya indicado Artisan. La página se sirve desde Laravel; Vite proporciona los recursos durante el desarrollo.

Vista Blade de Laravel con una tarjeta estilizada mediante Tailwind CSS 4

Para preparar los recursos de producción utiliza:

npm run build

El comando genera los archivos que Laravel carga mediante @vite. Durante el desarrollo utiliza npm run dev; para preparar los recursos que vas a publicar, utiliza npm run build. Si los estilos no aparecen, comprueba que Vite esté ejecutándose o que hayas compilado los recursos, y que el CSS figure en las entradas del plugin de Laravel.

Personaliza los estilos

Puedes definir un color propio en el mismo app.css:

@theme {
  --color-brand: #4f46e5;
}

Esto permite utilizar clases como bg-brand y text-brand. Escribe los nombres completos de las clases en las plantillas: Tailwind debe poder detectarlos al compilar. La documentación de variables de tema desarrolla esta configuración.

Para las pruebas de este artículo usa un navegador actual. Tailwind 4 depende de funciones CSS modernas; si tu aplicación debe admitir navegadores antiguos, revisa su compatibilidad antes de actualizar desde Tailwind 3.

Finalizando

Ya tienes Tailwind 4 integrado con Vite, una vista Blade y los comandos de desarrollo y producción. A partir de este ejemplo puedes crear tus propios componentes y reutilizarlos en otras vistas de Laravel.

Esto ha sido todo.


Avatar de Edu Lázaro

Edu Lázaro

Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compartirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

1 comentarios en “Cómo instalar Tailwind CSS en Laravel”

Edu muchas gracias por tu tutorial muy bien explicado, fue de gran ayuda, con ellos cree dos plantillas para mis proyectos. Prefiero usar Laravel Mix porque cuando se corrige un error automáticamente se actualiza la página, lo que no sucede con Vite (o será que lo estoy usando mal).
Edu le recomiendo revisar el apartado #3.1 Configura Sass con Tailwind en Laravel usando Vite, quedo confuso; en el punto 2 dice:
nte directiva, que indicEdita el archivo webpack.mix.js que encontrarás en el directorio raíz del proyecto, reemplazando la siguiente línea.
Un saludo cordial y hasta pronto.

Entra con tu correo para comentar.

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”
DeLorean de Regreso al futuro