Tengo una aplicación compuesta de dos partes:
A ) aplicación heredada (AngularJs) con sus propias clases CSS.B ) div que contiene una aplicación completamente nueva (React). B está construido con webpack, postcss y Tailwind. ¿Puedo asegurarme de que las clases de Tailwind de B no se vean afectadas por las hojas de estilo de A y viceversa, sin cambios significativos en el código base?
Actualmente encontré dos posibles soluciones que requieren grandes cambios:
className="x" ... className="y" se convierte en:import s1 from 's1'; import s2 from 's2'; ... className="s1.x" ... className="s2.y"Encontré otros dos complementos de postcss relevantes, pero se quedan cortos:
postcss-rename es excelente, pero no corrige los nombres en los archivos *.js .purgecss puede encontrar clases en función de su presencia en archivos *.js y luego eliminarlas de la lista de clases de salida, pero no permiten el cambio de nombre. Encontré específicamente que la característica faltante más crucial parece ser el analizador de archivos *.js de purgecss . Ninguna otra solución parece tener eso todavía.
¿O estoy equivocado? ¿Hay alguna solución para aplicar una transformación personalizada (por ejemplo, cambiar el nombre) a todas las clases postcss, que también se aplican a los nombres de clase de salida de los elementos HTML/JSX? ¿O hay alguna otra forma de que el paquete web haga automáticamente que mis clases de CSS no sean conflictivas para mí?
Es posible que desee probar este cargador junto con la configuración de prefijo de viento de cola tailwind-classname-prefix-loader
Puedes usar las opciones de prefijo de Tailwind
La opción de prefijo le permite agregar un prefijo personalizado a todas las clases de utilidad generadas por Tailwind. Esto puede ser realmente útil cuando se superpone Tailwind sobre CSS existente donde puede haber conflictos de nombres.
Por ejemplo, podría agregar un prefijo tw- configurando la opción de prefijo de esta manera:
// tailwind.config.js module.exports = { prefix: 'tw-', }