Criando aplicações Angular com Angular CLI

Criando aplicações Angular com Angular CLI
Otávio Prado
Otávio Prado

Compartilhe

Criar um projeto Angular partindo do zero não é tarefa fácil, existem diversas dependências e integrações necessárias que precisam ser configuradas para que a inicialização da aplicação ocorra corretamente.

A princípio, quando o Angular ainda estava em suas primeiras versões de desenvolvimento, a própria documentação quickstart do framework sugeria o clone do projeto semente (seed project) através do repositório oficial no GitHub.

Mas será que não temos uma alternativa mais objetiva?

Conhecendo o Angular CLI

A partir da versão 2, o framework JavaScript Angular vem com uma interface de linha de comando (command line interface) para facilitar e acelerar a criação de nossas aplicações, conhecida como Angular CLI.

Quando a versão 1.0 final do CLI foi lançada, ele se tornou a forma oficial para iniciar um novo projeto em Angular.

O Angular CLI é baseado no Webpack, uma ferramenta que ajuda a processar e agrupar nossos diversos arquivos TypeScript, JavaScript, CSS, HTML e imagens. Por baixo dos panos, o Webpack é responsável por estruturar o ponto de entrada da aplicação, ou seja, a raiz contextual (arquivo de inicialização).

O Angular CLI não é obrigatório para desenvolvermos com Angular, porém é uma ferramenta produtiva que automatiza a criação de arquivos com código estrutural base que repetimos diversas vezes durante o desenvolvimento, como por exemplo, a criação de components.

Banner promocional da Alura, com um design futurista em tons de azul, apresentando o texto

Instalando o CLI Angular

Para instalar o Angular CLI usamos um ambiente de tempo de execução JavaScript (JavaScript runtime environment) chamado Node.JS junto com o seu gerenciador de pacotes Npm (Node Package Manager).


npm install -g angular-cli

Utilizamos o comando npm para invocar o Node Package Manager (gerenciador de pacotes do Node.JS) e através do parâmetro -g definimos que o pacote angular-cli deve ser disponibilizado globalmente em nosso computador.

Se a instalação ocorrer com sucesso, uma mensagem deve ser exibida conforme imagem abaixo:

Para verificarmos se a instalação ocorreu corretamente, podemos executar o comando:


ng -v

A saída do comando acima deve ser a versão do angular-cli instalada:

Legal, mas como podemos criar o projeto com o Angular CLI?

Criando projeto com Angular CLI

Dentre algumas facilidades disponibilizadas pela ferramenta, podemos destacar a criação de um novo projeto Angular: toda a estrutura inicial do projeto pode ser construída com um simples comando ng new NOME-DO-PROJETO. Vamos criar um projeto para, por exemplo, um estoque:

Observe a quantidade de arquivos gerados com um simples comando ng new:

Imagine o trabalho que teríamos se tivéssemos que criar manualmente cada um desses arquivos.

Se abrirmos o arquivo package.json veremos todas as versões de todas as dependências do npm utilizadas e que foram configuradas automaticamentes para nós pelo CLI:

Executando aplicação com o Angular CLI

A implantação de uma aplicação é o ato de disponibilizá-la em um servidor para que possa ser acessada por todos. Podemos hospedar nossas aplicações criadas em Angular (que nada mais é que código JavaScript) em sites como Heroku, AWS, Azure ou qualquer outro.

Todavia, subir nossa aplicação para esses servidores não é uma tarefa muito prática. Durante o desenvolvimento do projeto é mais comum (e rápido) utilizar um servidor web local.

Para iniciarmos um servidor local usando o Angular CLI utilizamos o comando ng serve:

Acessando o projeto

Repare que após execução do comando ng serve nossa aplicação fica acessível através da URL http://localhost:4200.

Enquanto o servidor local estiver rodando, todas as alterações feitas nos arquivos do nosso projeto são monitoradas e, se necessário, recarregadas automaticamente.

Modificando a porta de acesso à aplicação

Se quiser trocar a porta do servidor, basta executar:

ng serve --port 4201

O comando acima inicializará o servidor local na porta 4201:

Gerador de código

Além de criar o projeto e executá-lo, por meio do Angular CLI temos a capacidade de gerar alguns templates de código, como por exemplo, componentes, diretivas, serviços, pipes, classes, enums e interfaces.

Todos os arquivos, pastas e código estrutural inicial necessários são gerados e incluídos ao projeto automaticamente. Por exemplo, para criarmos um novo componente ao nosso projeto, usamos:

ng g component painel-de-login:

Abaixo podemos ver o resultado do comando ng g component painel-de-login em nosso projeto:

Toda vez que geramos um novo component pelo CLI, é criado automaticamente uma pasta para agrupar os arquivos desse componente. Dentre eles, é criado um arquivo de estilos (CSS), um para a página (HTML), um arquivo de testes (spec.ts) e o próprio arquivo TypeScript (.ts) do component.

Por convenção, os nomes dos arquivos são separados por -, mas o nome lógico não:

Além disso, todo o código gerado por meio da ferramenta segue o guia oficial de estilos do Angular e já vem com arquivos de teste. Sempre que o CLI detecta alterações em qualquer arquivo, todos os testes são re-executados por baixo dos panos para garantir a qualidade do projeto.

Build do projeto

Vimos que o comando ng serve faz um ótimo trabalho ao fornecer um servidor web local, porém isso é apenas para desenvolvimento. Eventualmente, precisaremos hospedar nossa aplicação em outro servidor e para isso, é recomendado gerar o build do projeto, ou seja, compilar, comprimir e empacotar.

Para gerar um build para produção, podemos executar:

ng build --prod

O comando acima agrupa todos os nossos JavaScript, CSS, HTML em um conjunto menor de arquivos que podemos hospedar em um servidor externo. Esses arquivos são gerados na pasta dist:

Conclusão

Nesse post tivemos uma visão geral dos principais comandos do Angular CLI. Para descobrir mais detalhes sobre cada comando, além de como personalizar seus comportamentos, podemos executar ng help.

Existem diversos outros comandos que podem ser aprendidos na documentação oficial do Angular CLI.

Otávio Prado
Otávio Prado

Veja outros artigos sobre Front-end