Trabajando con frameworks web modernos, los conflictos entre módulos pueden convertirse en un dolor de cabeza que consume horas de desarrollo. En un proyecto con Nuxt 4 me encontré con un caso típico al usar simultáneamente el modulo nuxt-aos y @nuxtjs/tailwindcss: Tailwind dejó de aplicar estilos, el cambio de modo de color dejó de funcionar y las animaciones AOS no se activaban correctamente.
El escenario era el siguiente: necesitaba Tailwind CSS para el diseño y la responsividad, soporte de color mode para alternar entre temas claro y oscuro y AOS para animaciones al hacer scroll. Tras la instalación inicial de los módulos, observé que las clases de Tailwind no se aplicaban, el toggle de tema fallaba y AOS no animaba. La causa principal fueron conflictos en la inicialización de módulos y el orden de carga del CSS entre las configuraciones automáticas.
La solución que funcionó fue sencilla en concepto y eficaz en la práctica: 1. eliminar el modulo nuxt-aos del array de modules, 2. crear un plugin cliente personalizado para inicializar AOS en el momento adecuado y 3. configurar Tailwind CSS de forma explícita indicando la ruta del archivo CSS y forzando su inyección al final para evitar solapamientos de estilos.
En la configuración de Nuxt conviene incluir en css la ruta a aos/dist/aos.css y a ~/assets/css/tailwind.css y en la sección tailwindcss establecer cssPath con ~/assets/css/tailwind.css y injectPosition last. Al controlar manualmente estas rutas se evita que Tailwind sea sobrescrito por otros estilos y se asegura que el modo de color funcione correctamente durante la hidratación del cliente.
En lugar de depender del modulo nuxt-aos, cree un plugin cliente llamado plugins/aos.client.ts que importa AOS desde su paquete npm e importa aos/dist/aos.css. En el plugin llamo a AOS.init con la configuración global que necesito y expongo mediante provide dos funciones refreshAos y refreshHardAos para poder refrescar las animaciones cuando el contenido cambie dinámicamente. El sufijo .client.ts evita problemas de hidratación SSR ya que AOS solo se inicializa en el cliente.
Para Tailwind conviene tener un archivo dedicado ~/assets/css/tailwind.css con las directivas @tailwind base, @tailwind components y @tailwind utilities. De este modo Tailwind genera sus estilos en la hoja que indicamos y con injectPosition last nos aseguramos de que se cargue después de otras hojas como la de AOS.
Por qué funciona: el modulo nuxt-aos puede interferir con la inicialización de Tailwind y con el orden de carga del CSS cuando ambos módulos gestionan assets y hooks de build. Al controlar manualmente la carga del CSS y el momento de inicialización de AOS se eliminan las condiciones de carrera y las incompatibilidades. Además, exponer funciones mediante provide facilita refrescar AOS tras cambios de contenido y evita fugas de estado entre SSR y cliente.
Uso en componentes: basta con añadir atributos data-aos=fade-up data-aos-duration=1000 en los elementos que quieras animar y, si cargas contenido de forma dinámica, llamar desde el script a $refreshAos o $refreshHardAos que proporcionó el plugin para recalcular los offsets y activar las animaciones nuevas.
No olvides instalar el paquete AOS con npm install aos o pnpm add aos o yarn add aos y mantener actualizadas las dependencias de Tailwind y Nuxt para aprovechar correcciones de compatibilidad.
En Q2BSTUDIO resolvemos este tipo de problemas como parte de nuestros servicios de desarrollo de software a medida y aplicaciones a medida. Somos especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios de inteligencia de negocio y automatización de procesos. Si buscas un partner para desarrollar una aplicación robusta que integre frameworks modernos, escucha nuestras soluciones de servicios de desarrollo de aplicaciones a medida y descubre cómo podemos aplicar la inteligencia artificial para mejorar la experiencia de tus usuarios y optimizar procesos internos.
Palabras clave relevantes que aplicamos en nuestros proyectos: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Estas capacidades nos permiten ofrecer soluciones completas desde la arquitectura cloud hasta la visualización con Power BI y la protección mediante pentesting.
Si enfrentas conflictos similares en Nuxt 4 o necesitas apoyo para integrar animaciones, temas y utilidades CSS sin romper otras dependencias, en Q2BSTUDIO te ayudamos a diagnosticar y aplicar la solución adecuada. Contáctanos para una consultoría técnica y acelera tu proyecto con buenas prácticas y control detallado de inicialización de módulos.
Feliz coding y éxito con tu proyecto.