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

Módulos lazy com angular

É possível chamar um módulo lazy, e dentro desse módulo lazy eu tenha outros módulos lazy? Por exemplo: o módulo administrador, que já é lazy, tem várias telas. Eu posso deixar cada tela do administrador também lazy? Eu tentei isso em um projeto mas quando chamo uma tela, o bundle das outras também são carregados.

7 respostas

Fala ai Victor, tudo bem? Sim, é possível, vai precisar de algumas configurações um pouco mais complexas.

Basicamente você precisa carregar e preparar todos os módulos via lazy, ai preciso entender mais como está a estrutura do projeto e as telas.

Espero ter ajudado.

Tudo bem Matheus, obrigado pela resposta. Quando eu carrego um módulo lazy dentro desse "AdminModule", ele ainda carrega os todos os módulos que estão em "AdminModule", só muda que é em bundles separados, mas continua carregando mesmo sem ser chamado.

Eu precisaria ver o problema pare entender melhor e lhe passar uma possível solução.

Consegue compartilhar comigo o projeto? Pode ser via Github ou Google Drive (zipado).

Fico no aguardo.

Infelizmente não, são projetos da empresa em que trabalho. Mas é simples, tenho um modulo chamado administrador, que tem seu routing module. Esse módulo administrador é carregado de forma lazy. O problema é que quando carrego os módulos de dentro do adminstrador, no seu routing moudle, de forma lazy, todos são chamados ao mesmo tempo quando eu faço uma requisição para um. Quando olho no devtools, vejo que é criado um bundle para cada um, mas todos são chamados ao mesmo tempo, o que não adianta de nada.

solução!

Ai fica complicado, sem ver os códigos não consigo te dizer o que pode estar de errado ou não.

Tente criar um projeto separado bem simples, simulando o problema.

Obs: Se der tempo eu crio um exemplo para você, mas, pode ser que eu faça de um jeito diferente do seu por não estar vendo os códigos.

Fico no aguardo.

Olá Matheus, obrigado pela paciência de ter respondido. Achei uma solução que foi melhor para mim. Em vez de ter um módulo lazy e dentro dele outros módulos lazy, exclui o módulo de administrador que era lazy e importei diretamente os módulos que antes eram filhos dele.

Boa Victor, fico feliz que encontrou uma maneira de resolver seu problema.

Não tive tempo de simular seu cenário e lhe mandar um exemplo.

Abraços e bons estudos.