TL;DR
Evite o uso de tokens personalizados comoh-[15px]
ou p-[3px]
. Prefira os
tokens do Tailwind, como h-8
e p-2
. Além disso, evite especificar cores nos
tokens (por exemplo, bg-[#fd429a]
). Em vez disso, utilize cores de tema para
uma melhor manutenção.
Introdução
Este guia explora as melhores práticas para alcançar uma performance ideal no front-end com o Tailwind CSS na Deco. Vamos mergulhar no processo de geração do Tailwind CSS, examinar como os tokens inline afetam as métricas do Web Vitals e estabelecer regras simples para manter uma pontuação de alta performance.Compreendendo o Processo de Geração do Tailwind CSS
O framework da Deco permite a integração perfeita dos tokens do TailwindCSS em qualquer componente JSX, aplicando estilos sem configuração adicional. Embora isso seja conveniente para iniciantes, entender o processo subjacente é crucial para otimização de desempenho. Sempre que são feitas alterações no código do seu site, o processo de “geração do Tailwind” examina todos os arquivos.tsx
em sua base de código. Em seguida,
extrai os tokens CSS, mesclando-os em um único arquivo styles.css
. Este
arquivo é então enviado ao navegador, estilizando seus componentes. Esse
processo se repete sempre que ocorrem alterações no código.
No entanto, a consequência é um arquivo styles.css
maior do que o necessário,
contendo estilos para todos os componentes, impactando as métricas de
desempenho. Considere um cenário com uma página inicial (Home.tsx
) e uma
página de produto (Product.tsx
):
styles.css
:
p-4
não seja usado na página inicial, ele está incluído em
styles.css
, aumentando a carga CSS e afetando as métricas do Web Vitals (FCP).
No exemplo anterior, tanto os tokens flex
quanto justify-center
são
reutilizados. Em projetos maiores, essa reutilização de classes tende a crescer.
A reusabilidade é fundamental para ter um projeto Tailwind performático. No
entanto, os tokens inline podem quebrar essa tendência. Exemplos de tokens
inline incluem p-[3px]
, h-[4rem]
e bg-[#fdb43a]
. Essas classes têm pouca
probabilidade de serem reutilizadas, levando a um aumento no tamanho do
styles.css
e prejudicando os Core Web Vitals.
Para evitar a sintaxe inline ao replicar estilos, siga uma regra simples: use
tokens próximos. Por exemplo:
p-[3px]
->p-2
h-[4rem]
->p-8
bg-[#fdb43a]
->bg-primary