Ao trabalhar com Tailwind CSS, é comum que o build inicial inclua milhares de classes utilitárias — muitas das quais você nunca vai usar. Para garantir que seu CSS final seja leve e eficiente, o Tailwind possui um sistema automático de purga de classes, que remove tudo o que não está sendo usado no seu HTML, templates ou componentes.
Esse processo é chamado de "content scanning" e é essencial para qualquer projeto em produção.
Por que fazer a limpeza?
-
Reduz drasticamente o tamanho do CSS final
-
Melhora o tempo de carregamento da página
-
Evita carregar estilos desnecessários
-
Garante performance ideal em dispositivos móveis
Como funciona a purga no Tailwind
O Tailwind faz a limpeza com base na configuração content
do seu tailwind.config.js
. Ele escaneia esses arquivos e mantém apenas as classes que realmente aparecem neles.
Exemplo de configuração:
module.exports = {
content: [
'./index.html',
'./src/**/*.{js,ts,jsx,tsx}',
'./components/**/*.{vue,blade.php}',
],
theme: {
extend: {},
},
plugins: [],
}
Essa configuração diz ao Tailwind onde procurar por classes usadas. Tudo que não aparecer nesses arquivos será removido automaticamente no build de produção.
Comportamento em diferentes ambientes
-
Modo desenvolvimento: inclui todas as classes possíveis (para facilitar testes e protótipos).
-
Modo produção: aplica a limpeza (purge) e gera o CSS otimizado.
Para garantir o comportamento correto, verifique se a variável NODE_ENV=production
está definida no seu processo de build.
Build manual com purge ativado
NODE_ENV=production npx tailwindcss -i ./src/input.css -o ./dist/output.css --minify
Cuidado com classes dinâmicas
Se você estiver usando classes geradas dinamicamente, como:
const btnColor = `bg-${cor}-500`;
Ou:
<div class="text-{{ cor }}-700"></div>
Essas classes podem ser removidas por engano, porque o Tailwind não consegue detectá-las estaticamente.
Soluções:
-
Evite gerar classes dinamicamente quando possível.
-
Use safelisting (whitelist) no config:
jsCopiarEditarmodule.exports = {
safelist: [
'bg-red-500',
'bg-green-500',
'bg-blue-500',
],
}
Ou use expressões com wildcards:
safelist: [
{
pattern: /bg-(red|green|blue)-500/,
}
]
Verificando o resultado
Você pode inspecionar o tamanho final do CSS ou usar ferramentas como:
-
PurgeCSS Viewer
-
Lighthouse (auditoria de performance)
-
Ferramentas do navegador (aba “Network” > tamanho do
.css
)
A limpeza de classes é uma das razões pelas quais o Tailwind CSS é leve, rápido e adequado para produção — mesmo oferecendo milhares de utilitárias por padrão.