O CSS pode ser complicado de gerenciar, especialmente para qualquer site de tamanho razoável. Obtenha ajuda com este pré-processador.
Digamos que você aprenda sobre um recurso CSS muito legal, como aninhamento. Mas quando você vai em frente e experimenta, percebe que o suporte é péssimo e levará anos até que você possa finalmente usá-lo. Isso costumava ser um grande problema em CSS até a introdução de pré-processadores como o PostCSS.
Saiba como PostCSS permite que você use CSS moderno e futuro hoje durante o desenvolvimento. Você descobrirá exatamente o que é PostCSS, como usá-lo e a melhor maneira de aproveitar seus recursos.
Configurando o Projeto
Navegue até uma pasta vazia, crie um arquivo chamado index.html e adicione a seguinte marcação HTML no arquivo:
html>
<htmlidioma="en"><cabeça>
<linkrele="folha de estilo"href="src/estilos.css">
cabeça><corpo>
<p>Parágrafop>
<div>divisãodiv>
corpo>
html>
Este documento HTML renderiza um parágrafo e elemento. Ele também importa um arquivo de folha de estilo chamado
estilos.css que está dentro do origem pasta. Crie o arquivo no origem pasta e inclua as seguintes regras de estilo CSS:corpop {
cor: laranja;
}corpodiv {
cor: azul;
}
corpo {
mostrar: grade;
}
Este CSS estiliza a cor de ambos os elementos na página e cria um layout de grade. A maioria dos navegadores suporta sintaxe CSS normal como esta. Mas quando você estiver de olho na sintaxe mais recente, precisará trazer o PostCSS.
Criando um projeto Node.js e instalando o PostCSS
Em termos simples, PostCSS permite converter CSS moderno em algo que a maioria dos navegadores pode entender; um processo comumente conhecido como transpiling. Isso é perfeito se você quiser experimentar propriedades CSS novas, experimentais ou fora do padrão em seu código que os principais navegadores podem não suportar.
O PostCSS também oferece um rico ecossistema de plug-ins JavaScript que você pode instalar para habilitar determinados recursos, como minificação de CSS, suporte a cores e suporte a linting.
Para usar o PostCSS, a primeira coisa que você precisa fazer é inicializar um novo projeto Node.js:
npm init -y
Este comando irá gerar um arquivo package.json que contém os valores padrão para seu aplicativo.
Em seguida, instale o PostCSS e o PostCSS CLI. O segundo pacote permite que você execute o PostCSS a partir da linha de comando:
npm i --save-dev postcss postcss-cli
O --save-dev bandeira instala ambos pacotes npm como dependências de desenvolvimento; você só vai usar o PostCSS e seus plugins para processar o código CSS durante o desenvolvimento.
Para começar a usar o PostCSS através do interface da Linha de comando, entre no seu pacote.json arquivo e criar o simples construção: css comando para transpilar com PostCSS:
"scripts": {
"construir: css": "postcss src/styles.css --dir dest -w"
}
Este comando pegará seu CSS simples (armazenado em src/styles.css), transpile o código e, em seguida, envie-o para o destino pasta. Executando o compilação npm: css comando cria esta pasta e a preenche com o estilos.css arquivo contendo código legível pelo navegador.
Ao importar seu CSS para o HTML, certifique-se de importar da pasta de destino onde está compilando seu CSS, e não da pasta de origem de onde o PostCSS compila. Este, no nosso caso, é o dist. pasta, não o origem pasta.
Se você abrir seu site em um navegador, verá que o site ainda acessa o CSS. Sempre que você fizer alterações no arquivo de origem, o PostCSS recompilará o código e as alterações serão refletidas na página da web.
Usando plug-ins PostCSS
Existem centenas de Plug-ins PostCSS para adicionar prefixos, linting, novo suporte de sintaxe e dezenas de outros recursos ao PostCSS. Depois de instalar um plugin PostCSS, você o ativa dentro do postcss.config.js file — um arquivo JavaScript que você pode usar para definir todas as configurações do PostCSS.
Instale o cssnano Plugin PostCSS com o seguinte comando:
npm i --save-dev cssnano
Mais uma vez, você só precisa salvar essas dependências como dependências de desenvolvimento. A razão é que tudo isso acontece enquanto você está se desenvolvendo. Você não precisa do PostCSS ou de qualquer um de seus plugins depois de colocar o site em produção.
Para usar o plug-in cssnano recém-instalado, você deve adicionar o seguinte código dentro do postcss.config.js arquivo:
const cssnano = exigir("cssnano")
módulo.exportações = {
plug-ins: [
cssnano({
predefinido: 'padrão'
})
]
}
Agora, se você voltar ao terminal e executar novamente o comando build, isso reduzirá o CSS de saída (ou seja, tornará o código o menor possível). Portanto, quando você enviar para um site pronto para produção, seu CSS ficará o menor possível.
Usando recursos modernos como aninhamento
Suponha que você queira usar a sintaxe de aninhamento em sua folha de estilo, então você substitui o bloco de parágrafo em src/styles.css com isso:
corpo {
& p {
cor: laranja;
}
}
Este código é o mesmo que a versão em seu código inicial. Mas isso gerará um erro porque a sintaxe é muito nova e a maioria dos navegadores da Web não a suporta. Você pode ativar o suporte para esta sintaxe com PostCSS instalando o postcss-preset-env plugar.
O plug-in compila vários plug-ins diferentes para lidar com CSS com base no estágio em que está. O estágio 0 representa os recursos superexperimentais que podem nem chegar ao CSS. Visto que o estágio 4 é para recursos de linguagem que já fazem parte da especificação CSS.
Por padrão, ambiente presente usa recursos do estágio 2 (que têm maior probabilidade de entrar em CSS). Mas você pode alterar o estágio para o que quiser no arquivo de configuração.
Para instalar o plug-in, execute o seguinte comando:
npm i --save-dev postcss-preset-env
Então no seu postcss.config.js arquivo, você deve importar o plugin e registrá-lo:
const cssnano = exigir("cssnano")
const postcssPresetEnv = exigir("postcss-preset-env")
módulo.exportações = {
plug-ins: [
cssnano({
predefinido: 'padrão'
}),
postcssPresetEnv({ estágio: 1})
]
}
Você só deve passar da fase do novo código CSS que pretende usar. Nesse caso, estamos assumindo que o recurso de aninhamento está no estágio 1. Ao executar novamente o comando build e verificar o navegador, você verá que ele compilou o código aninhado em CSS padrão que o navegador pode entender.
Usando PostCSS com Frameworks
Configurar o PostCSS manualmente pode ser um pouco trabalhoso. É por isso que quase todos os frameworks modernos vêm com ferramentas de empacotamento (por exemplo, Vite, Snowpack e Parcel), e essas ferramentas terão suporte para PostCSS integrado. E mesmo que não tenham, o processo de adicionar suporte a PostCSS é incrivelmente fácil.
Lembre-se sempre que o Vite e a maioria dos outros empacotadores usam Sistema de módulos ES6, não CommonJS. Para contornar isso, você precisa usar o importar declaração no lugar de requerer() na tua postcssconfig.js arquivo:
importar cssnano de"cssnano"
// O código de configuração vai aqui
Contanto que você tenha os plugins instalados, tudo funcionará bem.
Saiba mais sobre SaSS
PostCSS é apenas uma das dezenas de pré-processadores CSS atualmente disponíveis. Um deles é o SaSS, que significa folhas de estilo sintaticamente impressionantes.
Aprender a usar outro pré-processador importante pode ser útil para um desenvolvedor de CSS.