Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida sobre a utilização de módulos

Olá Pessoal,

Tenho uma aplicação que estou construindo com Angular 5. Tenho dúvidas de quando devo criar um módulo ou quando só um componente já é suficiente. Por exemplo, tenho um módulo LoginModule e um outro ClienteModule, com os componentes para inclusão, deleção, edição e exclusão. Seria uma boa prática colocar cada funcionalidade com um módulo ou só criando Components já seria o suficiente?

Obrigado.

4 respostas

Boa tarde.

Pelo o que eu entendi você já separou o módulo de login do módulo que contém o restante da sua APP. Esta no caminho!

Obrigado pela resposta Flávio.

Percebi que os imports dos módulos do Angular nos módulos que estou construindo ficam repetidos. Por exemplo, tenho um ClienteModule, onde eu tenho os imports do Angular Material, por exemplo, o MatInputModule. Em outro módulo, o ProdutoModule, tenho de importar o mesmo MatInputModule. Existe alguma forma de eu importar em um lugar, pra que esses imports para aproveitamento? Aproveitando o momento, tenho aprendido bastante com os cursos aqui da Alura, principalmente os que você é o instrutor. Parabéns pela excelente didática!

solução!

É comum o aluno vir com essa dúvida com receito das múltiplas importações. Mas o que eu vou tentar lhe explicar é que isso é algo que o desenvolvedor deseja que seja assim.

Isso permite saber exatamente quais são as dependências de cada módulo isolado. Se você tem o módulo A e B é porque isolou com alguma finalidade. É por isso que A e B precisam importar o MatInputModule. O módulo A não sabe o queB tem e nem B sabe o que a A tem.

Se isso lhe causa algum problema, você pode juntar tudo em um módulo só, o que deixaria a desejar em termos de organização de código.

Obrigado Flávio! Estou aprendendo bastante com vocês! Está valendo cada centavo gasto!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software