Fala ai Matias, tudo bem? Vamos lá:
Mas não entendi, módulos tenho que exportar?
Você precisa exportar os módulos que precisam ser públicos para o módulo que importar seu módulo (ficou confuso, mas calma).
Imagine que o módulo A e B precisam do módulo C.
Então podemos ir nos módulos A e B e importar o C.
Mas, imagine que o módulo B é importado e utilizado pelo módulo A, sendo assim, a gente pode importar o módulo C no módulo B e torná-lo acessível para o módulo A através do exports
.
Ou seja, o exports
serve para a gente tornar algo interno público e acessível para o módulo que esta importando.
Como usar um componente de outro módulo em vários outros componentes, tem que fazer no Declarations?!
Não é possível declarar mais de um componente um mais de um módulo, se você fizer isso o Angular vai dar erro.
Uma forma de resolver esse problema é criar um SharedModule
que vai importar os componentes compartilhados e importar o módulo nos outros módulos que precisam desses componentes comuns.
Espero ter ajudado.