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

Como o Webpack escolhe quais módulos são importados?

Olá, Eu vejo que a classe HttpService foi importada no bundle principal, mas ela não é utilizada em nenhum momento dentro do bundle principal (não tem nenhuma instrução import para ela). Já, a classe NegociacaoService é importada dinamicamente ao chamar o método adiciona do Controller, e ela sim utiliza o HttpService, inclusive com um import. Minha dúvida é: o HttpService não deveria ser importado somente ao importar o NegociacaoService?

3 respostas
solução!

Oi João, tudo bem? Posso te ajudar nessa? Na leitura do código, o Webpack importa todos os módulos que a sua aplicação precisa. Direta ou indiretamente. Se em algum lugar você usar o HttpService, ele vai importar sim.

Já a ordem de imports é uma coisa que pode variar bastante. Lembrando que o HttpService precisa estar disponível antes do NegociacaoService, por isso ele tem alguma prioridade, se fosse deixado pra fazer um import posterior, provavelmente teríamos um erro de undefined.

Pegou a ideia?

Obrigado Wanderson pela resposta. Eu quis dizer que o HttpService deveria ser importado somente quando NegaciacaoService fosse importado, porque é o único que o utiliza (respeitando a ordem). Mas como você me explicou ele importa direta e indiretamente tudo o que a aplicação precisa. Eu achava que ele só importava o que ele lia nas instruções de import, porque ele não importou o NegociacaoService no bundle principal. E eu achei que este mesmo comportamento aconteceria com HttpService.

Opa, só um pedido, quando um um post solucionar a sua dúvida, marca ela como solução do tópico por favor? Lembra sempre de fazer isso quando fizer sentido, ok?

Com certeza deve haver algo na documentação que informe sobre o que influencie na ordem do bundle. É uma boa ideia dar uma lida por lá pra entender melhor.