Introdução aos Módulos no Angular
Imagine construir um aplicativo. No início, é apenas um único arquivo — como main.ts. Mas, à medida que você avança, começa a adicionar mais: componentes, serviços, estilos, lógica, manipulação de dados, autenticação e assim por diante.
Cedo ou tarde, as coisas começam a ficar confusas — fica difícil saber o que está sendo usado onde ou como tudo se conecta.
É nesse momento que a modularidade se torna sua melhor aliada.
O que é um Módulo no Angular?
Um módulo é uma forma de agrupar partes relacionadas do seu aplicativo em blocos separados e gerenciáveis, que são fáceis de manter, reutilizar e testar.
Considere um módulo como uma caixa onde se guarda tudo relacionado a uma funcionalidade específica. Por exemplo, todos os elementos relacionados a usuários podem ser organizados em um UserModule.
No Angular, um módulo é simplesmente uma classe marcada com o decorador @NgModule, como neste exemplo:
app-component.ts
Função de cada parte:
-
declarations– lista os componentes, diretivas e pipes pertencentes a este módulo; -
imports– importa outros módulos dos quais este depende (comoBrowserModulepara acesso ao DOM); -
providers– declara os serviços (para injeção de dependência) disponíveis neste módulo; -
bootstrap– define o componente principal a ser carregado quando o aplicativo inicia (geralmenteAppComponent).
Basicamente, um módulo define o que recebe (suas dependências), o que disponibiliza para outros módulos, entre outros aspectos.
Qualquer componente que interaja com este módulo pode utilizar os serviços e outros recursos fornecidos por ele.
Por que Não Estamos Usando Módulos Agora
A partir do Angular 14, existe uma nova alternativa — componentes standalone.
Esses componentes permitem criar e utilizar um componente sem precisar adicioná-lo a um módulo. Na verdade, já estamos utilizando esse recurso ao longo do nosso projeto, e eles se apresentam assim:
task-component.ts
Este é um componente standalone — ou seja, não precisa ser listado em nenhum NgModule dentro de declarations. Em vez disso, tudo o que ele necessita (como diretivas, pipes ou outros módulos) é importado diretamente pela propriedade imports dentro do próprio componente.
Isso torna a estrutura do projeto mais leve e flexível — especialmente útil para aplicações pequenas ou blocos de funcionalidades isoladas.
Exploraremos componentes autônomos com mais detalhes posteriormente nesta seção.
Embora projetos Angular mais recentes não exijam módulos, você ainda irá encontrá-los com frequência:
-
Aplicações corporativas antigas são inteiramente construídas utilizando módulos;
-
Muitos tutoriais, documentações e exemplos ainda são escritos com
NgModule; -
Algumas bibliotecas de terceiros e frameworks de UI ainda utilizam a abordagem baseada em módulos.
Por isso, dedicaremos um tempo para aprender como o NgModule funciona — assim você poderá ler e manter bases de código antigas com confiança.
1. Qual é o principal objetivo de um módulo no Angular?
2. O que geralmente está incluído no decorador @NgModule?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.13
Introdução aos Módulos no Angular
Deslize para mostrar o menu
Imagine construir um aplicativo. No início, é apenas um único arquivo — como main.ts. Mas, à medida que você avança, começa a adicionar mais: componentes, serviços, estilos, lógica, manipulação de dados, autenticação e assim por diante.
Cedo ou tarde, as coisas começam a ficar confusas — fica difícil saber o que está sendo usado onde ou como tudo se conecta.
É nesse momento que a modularidade se torna sua melhor aliada.
O que é um Módulo no Angular?
Um módulo é uma forma de agrupar partes relacionadas do seu aplicativo em blocos separados e gerenciáveis, que são fáceis de manter, reutilizar e testar.
Considere um módulo como uma caixa onde se guarda tudo relacionado a uma funcionalidade específica. Por exemplo, todos os elementos relacionados a usuários podem ser organizados em um UserModule.
No Angular, um módulo é simplesmente uma classe marcada com o decorador @NgModule, como neste exemplo:
app-component.ts
Função de cada parte:
-
declarations– lista os componentes, diretivas e pipes pertencentes a este módulo; -
imports– importa outros módulos dos quais este depende (comoBrowserModulepara acesso ao DOM); -
providers– declara os serviços (para injeção de dependência) disponíveis neste módulo; -
bootstrap– define o componente principal a ser carregado quando o aplicativo inicia (geralmenteAppComponent).
Basicamente, um módulo define o que recebe (suas dependências), o que disponibiliza para outros módulos, entre outros aspectos.
Qualquer componente que interaja com este módulo pode utilizar os serviços e outros recursos fornecidos por ele.
Por que Não Estamos Usando Módulos Agora
A partir do Angular 14, existe uma nova alternativa — componentes standalone.
Esses componentes permitem criar e utilizar um componente sem precisar adicioná-lo a um módulo. Na verdade, já estamos utilizando esse recurso ao longo do nosso projeto, e eles se apresentam assim:
task-component.ts
Este é um componente standalone — ou seja, não precisa ser listado em nenhum NgModule dentro de declarations. Em vez disso, tudo o que ele necessita (como diretivas, pipes ou outros módulos) é importado diretamente pela propriedade imports dentro do próprio componente.
Isso torna a estrutura do projeto mais leve e flexível — especialmente útil para aplicações pequenas ou blocos de funcionalidades isoladas.
Exploraremos componentes autônomos com mais detalhes posteriormente nesta seção.
Embora projetos Angular mais recentes não exijam módulos, você ainda irá encontrá-los com frequência:
-
Aplicações corporativas antigas são inteiramente construídas utilizando módulos;
-
Muitos tutoriais, documentações e exemplos ainda são escritos com
NgModule; -
Algumas bibliotecas de terceiros e frameworks de UI ainda utilizam a abordagem baseada em módulos.
Por isso, dedicaremos um tempo para aprender como o NgModule funciona — assim você poderá ler e manter bases de código antigas com confiança.
1. Qual é o principal objetivo de um módulo no Angular?
2. O que geralmente está incluído no decorador @NgModule?
Obrigado pelo seu feedback!