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

Load de modulos sob demanada

Ola, minha dúvida é a seguinte:

Suponhmos que na minha aplicacao eu tenha o ngmodule principal que é o app.module.ts

Ao iniciar a aplicação, o app.module vai carregar meu componente home que por sua vez possui um módulo próprio.

Porem na minha tela de contato, que é um componente separado com seu módulo próprio, eu quero carregar uma lib (angular-particles). Essa lib eu quero que seja carregada somente quando eu chamar o componente de contato. Mas acontece que se eu nao importar a lib no app.module da erro e fala que o componenete particles nao foi definido.

Entao a divida: se eu importar a llib angular-particles no app.module, independente de eu usar ou nao o componente particles, ele estara carregado na memoria certo?

Como faco pra ele ser carregado somente quando o componente que usa ele for chamado?

PS.: tentei importar a lib no module do contato, mas continua com erro de componente nao definido

5 respostas

Opa,

Pelo que entendi, o que vc precisa é um import dinâmico =)

Pessoal do TC39 está querendo implementar isso no ECMAScript. E aparentemente, no Typescript 2.4 já dá pra usar.

Você executará uma função import que te retorna uma Promise, que quando resolvida te dá acesso ao módulo.

Os dois links acima têm mais infos sobre isso.

Fala José tudo bom? Complementando a resposta do Artur, uma outra parada que poderia ti ajudar nessa missão é esse recurso pra fazer Lady Load de rotas no angular:

https://angular.io/guide/lazy-loading-ngmodules

Boa noite, José! Pensou que eu esqueci da sua pergunta lá na seção do Ionic 3? Pois não contava com a boa memória do instrutor! Eu estava envolvido com o lançamento da parte 2 do curso de Ionic 3 (que a propósito, tá bem bacana e cheia de novidades) e acabei não podendo responder! Mas eu virei ao seu auxílio para trazê-lo para a luz, meu aluno! Ainda hj posto aqui uma resposta com exemplo prático do que vc está perguntando!

Boa noite Gabriel, não tinha pensado isso não, só tentei atacar o problema pelo lado do Angular.

To no aguardo da parte 2 do curso hein!

solução!

Eu estava brincando com vc, José! hahahaha

A propósito, a parte 2 do curso de Ionic 3 foi lançada hoje! Acabou de sair do forno! Você pode conferir o curso aqui!

Em relação a resposta que fiquei devendo, coloquei ela no tópico original do curso de Ionic! Segue o link!

Grande abraço, meu aluno!