Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Introdução aos Módulos no Angular | Componentes Standalone e Módulos
Introdução ao Angular

bookIntroduçã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?

Note
Definição

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

app-component.ts

copy

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 (como BrowserModule para 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 (geralmente AppComponent).

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

task-component.ts

copy

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.

Note
Nota

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.

Note
Nota

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?

question mark

Qual é o principal objetivo de um módulo no Angular?

Select the correct answer

question mark

O que geralmente está incluído no decorador @NgModule?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 3.13

bookIntroduçã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?

Note
Definição

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

app-component.ts

copy

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 (como BrowserModule para 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 (geralmente AppComponent).

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

task-component.ts

copy

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.

Note
Nota

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.

Note
Nota

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?

question mark

Qual é o principal objetivo de um módulo no Angular?

Select the correct answer

question mark

O que geralmente está incluído no decorador @NgModule?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 1
some-alt