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

WebPack com Angular CLI

Blz pessoal, Adicionei um custom-webpack.config.js ao meu projeto para carregar módulos lazy. Funcionou, consegui carregar os arquivos de forma lazy apontando para o endereço correto no servidor http (antes quando eu acessava uma funcionalidade lazy a requisição para o 'chunk' era concatenada com a rota que eu queria acessar, então sempre dava 404).

Porem, observei que quando uso a propriedade --outputPath do angular cli no package.json para fazer o build(ng build --outputPath=/dev/deploy/http/ng), os arquivos não são 'copiados' para o diretório que eu gostaria, só são gerados os arquivos compilados na pasta dist, que é o mesmo diretório que eu deixei explicito no output do meu custom-webpack. obs: O meu objetivo com o --outputPath é fazer o watch em tempo de desenvolvimento.

No angular.json estou usando: "builder": "@angular-builders/custom-webpack:browser"

Minha duvida é: pelo fato de estar explicitando o uso de um 'custom-webpack' o angular cli deixa de gerenciar essas propriedades que eu informo no ng build e passa essa responsabilidade para o meu custom-webpack?

Existiria uma forma mais interessante de resolver esses problemas de lazy load sem precisar sobrescrever as configurações do angular cli?

2 respostas

Fala aí Danilo, tudo bem? Vamos por partes:

Primeiro gostaria de saber porque você criou esse custom-webpack.config.js para carregar os módulos via lazy, sendo que o próprio Angular já faz tudo isso para nós, ele splita o código em chunks (módulos) e os carregam sob demanda (necessidade).

Segundo, não acho que seja problema por ter criado o seu arquivo custom, uma vez que o Angular é inteligente e faz o merge das configurações.

Espero ter ajudado.

solução!

Blz Matheus, Obrigado pela resposta.

Realmente, depois que vc me questionou o motivo de eu estar querendo configurar o webpack customizado pro meu projeto que fui me dar conta do vacilo.

Na verdade, o que eu estava fazendo era um --deploy-url ../raizDoContexto/ng/

esse ../ antes da raiz da minha url estava arrebentando com tudo, o angular se perdia e eu acabei sendo induzido ao erro em achar que deveria configurar o webpack pra poder fixar o contexto que eu queria.

Obs> O que eu estou fazendo na verdade é carregando o angular dentro de uma aplicação legada, por isso estava setando esse caminho relativo por engano.