Todos los artículos
Integraciones· Intermedio

Tailwind CSS 4 con Vue CLI: guía para proyectos existentes

Mantén un proyecto existente con Vue CLI y compila Tailwind 4 sin desactivar la optimización de producción.

LA

Luis Aldair Quispe Rios

2 min de lectura
Tailwind CSS 4 con Vue CLI: guía para proyectos existentes

Alcance de esta guía

Vue CLI está en modo de mantenimiento. Esta guía sirve para mantener una aplicación existente con Vue 3 y Vue CLI; para un proyecto nuevo, empieza con Vue + Vite. Aquí generaremos Tailwind CSS 4 mediante su CLI y dejaremos que Vue CLI importe el CSS resultante.

Instala las herramientas

npm install -D tailwindcss @tailwindcss/cli npm-run-all

En src/assets/tailwind.css:

@import "tailwindcss";

Scripts de desarrollo y producción

Añade estas entradas a los scripts existentes de package.json. Conserva los demás scripts del proyecto.

{
  "scripts": {
    "tailwind:watch": "tailwindcss -i ./src/assets/tailwind.css -o ./src/assets/tailwind-output.css --watch",
    "tailwind:build": "tailwindcss -i ./src/assets/tailwind.css -o ./src/assets/tailwind-output.css --minify",
    "serve:vue": "vue-cli-service serve",
    "serve": "npm-run-all tailwind:build --parallel tailwind:watch serve:vue",
    "build:vue": "vue-cli-service build",
    "build": "npm-run-all tailwind:build build:vue"
  }
}

El primer tailwind:build crea el archivo antes de arrancar Vue. En desarrollo, el watcher de Tailwind y el servidor de Vue se ejecutan en paralelo. En producción, las dos tareas se ejecutan en secuencia: primero CSS y después el paquete de Vue. No combines además este flujo con un plugin PostCSS de Tailwind que procese el mismo archivo por segunda vez.

Importa una vez el resultado en src/main.ts o src/main.js:

import './assets/tailwind-output.css'

Comprueba el resultado

<template>
  <main class="min-h-screen bg-slate-950 p-8 text-white">
    <h1 class="text-3xl font-bold text-emerald-400">Tailwind 4 en una app existente</h1>
  </main>
</template>

Ejecuta npm run serve y comprueba el fondo oscuro y el título verde. Cambia una clase completa en el componente y verifica que se actualiza. Después ejecuta npm run build y comprueba el CSS y la aplicación generada en dist con un servidor HTTP.

Errores frecuentes y límites del entorno legado

Si el import de CSS falla, ejecuta npm run tailwind:build y confirma la ruta de salida. Si una clase no aparece, usa nombres completos en el código. El archivo tailwind-output.css es generado; edita el de entrada y tus componentes.

No desactives optimization.minimize para conseguir que el build termine. Webpack activa la minimización de producción por defecto. Si una dependencia antigua de Vue CLI no acepta el CSS moderno de Tailwind 4, revisa la compatibilidad de sus procesadores y planifica la migración a Vite; conserva la versión de Tailwind compatible con tu proyecto mientras la resuelves. La compatibilidad concreta depende de las versiones instaladas y debe comprobarse con el build del proyecto existente.

Consulta el estado oficial de Vue CLI, la instalación de Tailwind CLI y optimization.minimize en Webpack.

Sigue leyendo

¿Cómo integrar Tailwind 4 en Vue.js 3 + Vite?

¿Cómo integrar Tailwind 4 en Vue.js 3 + Vite?

Configura Tailwind CSS 4 en Vue 3 con los plugins de Vue y Tailwind para Vite.
Web Components con Vue 3: distribuye un contador con defineCustomElement

Web Components con Vue 3: distribuye un contador con defineCustomElement

Publica un contador Vue como Custom Element con estilos encapsulados y eventos para HTML.
Autenticación con Google en Vue 3 y VueFire

Autenticación con Google en Vue 3 y VueFire

Conecta Firebase Auth con VueFire y añade acceso con Google, cierre de sesión y errores visibles.