Skip to content
Latchkey

O Que É Minificação? Encolhendo Código Para Produção

A minificação reescreve o código para ser o menor possível sem mudar o que ele faz, removendo espaços em branco, comentários e encurtando nomes.

O código que você escreve é formatado para humanos, com espaços em branco, comentários e nomes descritivos. Nada disso importa para um navegador. A minificação remove tudo o que não é essencial e reescreve identificadores para nomes curtos, para que o arquivo baixe mais rápido. É uma etapa padrão em qualquer build frontend de produção e uma razão chave pela qual os source maps existem.

O que os minificadores removem e reescrevem

  • Espaços em branco, quebras de linha e comentários.
  • Nomes longos de variáveis locais encurtados para poucos caracteres.
  • Sintaxe redundante colapsada em equivalentes mais curtos.
  • Ramos mortos que podem ser provados inalcançáveis.

Minificação vs compressão

A minificação é uma transformação em tempo de build do próprio código-fonte. A compressão, como gzip ou brotli, acontece em tempo de transferência no servidor ou na CDN. Elas se empilham: código minificado comprime ainda mais, e ambas reduzem o que o usuário baixa.

Minificadores comuns

O Terser é o minificador de JavaScript padrão; esbuild e SWC minificam rapidamente como parte do bundling. O CSS tem seus próprios minificadores, como o cssnano. A maioria dos bundlers habilita a minificação automaticamente no modo de produção.

Por que combina com source maps

Código minificado é ilegível, então um stack trace aponta para o ruído. Gerar um source map junto com a saída minificada restaura o vínculo com seu código-fonte original para depuração e rastreamento de erros.

Minificação no CI/CD

A minificação roda apenas em builds de produção, adicionando tempo de CPU ao final do bundling. Como ela é determinística para uma dada entrada, colocar a saída do build em cache permite que o código inalterado pule a re-minificação. Os arquivos minificados e hasheados são o que o pipeline faz deploy.

Principais conclusões

  • A minificação encolhe o código removendo espaços em branco e encurtando nomes, sem mudança de comportamento.
  • Ela se empilha com a compressão do lado do servidor, como gzip e brotli.
  • A saída minificada precisa de um source map para permanecer depurável em produção.

Guias relacionados