Eu já fiz uma pergunta sobre isso e há uma outra feita por outro aluno aqui no forum, mas mesmo assim eu não consegui entender direito o import e o declarations. As respostas que o professor deu foram: - import indica as dependências do módulo. Declaraction indica o que ele oferece para ser usado. - declarations: um módulo precisa explicitar o que ele tem, ou seja, o que ele declara.
Não entendi bem o significado de que ele declara ou o que ele oferece para ser usado.
O que cheguei a conclusão, e gostaria de saber se é isso que estou pensando, é que o declarations contém as páginas(macros não reutilizáveis [pag lista usuário, pag configuraçao, pag login e etc]) e o import contém partes/módulos/conteúdo reutilizáveis pequenos para utilizar nos módulos indicados no declarations. Ou seja, o app.module é o que reúne tudo, todas as views e partes flexíveis do sistema. Ele precisa definir todos as páginas/views e um array e todas as partes reutilizáveis em outro. Outra coisa, esses partes reutilizáveis tem um módulo porque esse é a funcionalidade principal de um módulo?
Desculpa tanta dúvida, mas esse curso está um pouco mais difícil =D.