hot - Angular CLI HMR com rotas carregadas preguiçosamente recarrega tudo




webpack angular hot reload (2)

Apenas como um aviso para as pessoas que estão recebendo este problema. Atualizei o angular-cli e o hmr parou de funcionar. Tudo o que mostrou é uma página vazia.

Trabalhando:

"@angular-devkit/build-angular": "0.10.2",
"@angular/cli": "^7.0.3",
"@angular/compiler-cli": "^7.0.3",

Não está funcionando:

"@angular-devkit/build-angular": "~0.6.8",
"@angular/cli": "~7.0.6",
"@angular/compiler-cli": "^7.1.0",

(Confirmado um problema mesmo com Angular 7). Vamos consertar isso!

Estou usando o HMR como configurado aqui: https://github.com/angular/angular-cli/wiki/stories-configure-hmr de uma ng new compilação ng new .

Se eu alterar qualquer componente e torná-lo lento, o HMR angular recarregará tudo, tornando a sincronização da página mais lenta.

Eu sei disso porque é por padrão configurar o console.log para cada módulo que está sendo recarregado, e quando estou usando uma rota lenta, ele registra tudo. Mas quando eu mudo esse componente para não-preguiçoso, ele registra apenas alguns componentes pequenos.

Portanto, quando estou usando rotas HMR e lazy, meu aplicativo leva mais alguns segundos para ser atualizado. Isso é chato.

Existe alguma maneira de contornar isso?

(Rotas de carregamento preguiçoso são realizadas por algo assim)

// Main homepage
{
  path: '',
  loadChildren: './public/home/home.module#HomeModule'
},
// ...

(apenas um exemplo para mostrar que estou carregando de maneira preguiçosa)

Aqui está um registro para mostrar o que acontece quando eu preguinho carregar o home.component.ts

// Everything here is normal, great!
[HMR]  - ../../../../../src/app/public/home/home.component.html
log.js:23 [HMR]  - ../../../../../src/app/public/home/home.component.ts
log.js:23 [HMR]  - ../../../../../src/app/public/home/home.module.ts
log.js:23 [HMR]  - ../../../../../src/app/public/home/home.routing.ts
// Everything below here is NOT normal, bad!  All this is extra.  These are my modules, yes, but all this needs to be loaded again?
log.js:23 [HMR]  - ../../../../../src/$$_lazy_route_resource lazy recursive
log.js:23 [HMR]  - ../../../core/esm5/core.js
log.js:23 [HMR]  - ../../../platform-browser-dynamic/esm5/platform-browser-dynamic.js
log.js:23 [HMR]  - ../../../common/esm5/common.js
log.js:23 [HMR]  - ../../../platform-browser/esm5/platform-browser.js
log.js:23 [HMR]  - ../../../router/esm5/router.js
log.js:23 [HMR]  - ../../../../../src/app/shared/shared.module.ts
log.js:23 [HMR]  - ../../../common/esm5/http.js
log.js:23 [HMR]  - ../../../../../src/app/features/proxy-http-interceptor/proxy-http-interceptor.ts
log.js:23 [HMR]  - ../../../../../src/app/shared/unauthorized-http-interceptor.ts
log.js:23 [HMR]  - ../../../../../src/app/features/auth/auth.service.ts
log.js:23 [HMR]  - ../../../../../src/app/features/user/user.service.ts
log.js:23 [HMR]  - ../../../../@auth0/angular-jwt/index.js
log.js:23 [HMR]  - ../../../../@auth0/angular-jwt/src/jwt.interceptor.js
log.js:23 [HMR]  - ../../../../@auth0/angular-jwt/src/jwthelper.service.js
log.js:23 [HMR]  - ../../../../@auth0/angular-jwt/src/jwtoptions.token.js
log.js:23 [HMR]  - ../../../../../src/app/shared/container.directive.ts
log.js:23 [HMR]  - ../../../flex-layout/esm5/flex-layout.es5.js
...
...
A ton more logging