ANÚNCIO

~/questoes/devops

Qual é a pasta onde o Angular armazena os arquivos compilados prontos para servir?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência COMO CONFIGURAR O DOCKER PARA FRONTEND | Angular + Nginx
Para fixar

Pasta de Artefatos Compilados no Angular

Conceito central

Quando você desenvolveu uma aplicação Angular e a prepara para produção, o Angular CLI executa um processo de build que transforma seus arquivos TypeScript e componentes em arquivos estáticos otimizados. Esses artefatos prontos para servir são armazenados em uma pasta específica gerada automaticamente.

Por que essa resposta faz sentido

A pasta 'dist' é gerada pelo comando de build do Angular (ng build) e contém todos os arquivos estáticos compilados e otimizados, prontos para serem servidos por um servidor web como o Nginx. Esta é a pasta que você copia para o container Docker ao configurar uma aplicação Angular em produção.

Armadilhas comuns

  • Confundir 'src' (código-fonte) com 'dist' (código compilado) — lembre que 'dist' é o resultado final após o build
  • Pensar que 'node_modules' faz parte do deployment — ela contém apenas dependências de desenvolvimento e deve ser excluída de containers Docker
  • Imaginar que o servidor (Nginx) gera a pasta de build — o servidor apenas serve arquivos já prontos; quem compila é o Angular CLI

Entenda as alternativas

A

A pasta 'dist' é o destino padrão do build do Angular. Ela contém JavaScript minificado, CSS processado, HTML compilado e assets otimizados. É exatamente o que você copia para servir em produção com Nginx ou outro servidor web.

B

A pasta 'node_modules' armazena todas as dependências do projeto (bibliotecas npm), não os artefatos compilados. Essa pasta nunca deve ser enviada para produção e é absolutamente desnecessária em um container Docker com Nginx servindo a aplicação.

C

Não existe pasta 'build' gerada automaticamente pelo Nginx durante execução. O Nginx apenas serve arquivos já existentes; ele não gera nem compila nada. O build é responsabilidade do Angular CLI, não do servidor web.

D

A pasta 'src' contém os arquivos fonte em TypeScript, não os artefatos compilados. Esses são os arquivos que o desenvolvedor edita, mas não devem ir para produção. O build transforma conteúdo de 'src' em conteúdo de 'dist'.

Dica prática: Quando escrever um Dockerfile para Angular com Nginx, use dois estágios: no primeiro, execute 'ng build' para gerar a pasta 'dist'; no segundo, copie apenas o conteúdo de 'dist' para dentro do Nginx. Isso torna a imagem final muito mais leve, pois não inclui ferramentas de build desnecessárias.

Revise pensando: Se você rodasse 'ng build' no seu projeto Angular agora, qual pasta seria criada com os arquivos prontos para produção?