Angular 8 лениво загружаемых модулей в новом синтаксисе импорта loadChildren не загружаются лениво

Недавно я обновил проект до Angular 8, я попытался переключить импорт loadChildren на новый синтаксис

Например из:

loadChildren: './maintenance/maintenance.module#MaintenanceModule',

To:

loadChildren:() => import('./maintenance/maintenance.module').then(m => m.MaintenanceModule),

Маршрутизация приложения создается так:

@NgModule({
  imports: [
    RouterModule.forRoot(appRoutes, {
      scrollPositionRestoration: 'enabled',
      enableTracing: false,
    }),
  ],
  exports: [RouterModule],
})
export class AppRoutingModule { }

Однако при сборке проекта никакие модули не загружаются «лениво». Используя анализатор пакетов Webpack, я вижу, что все маршрутизируемые модули включены в основной пакет, а также при переходе по этим маршрутам не происходит никакой сетевой активности.

Кто-нибудь знает, что мне здесь не хватает?


person Jack    schedule 05.06.2019    source источник
comment
Странный! Вы запускаете его на локальном компьютере или для этого у вас есть StackBlitz?   -  person SiddAjmera    schedule 05.06.2019
comment
Это работает локально, я попробую создать урезанную версию моей установки для Stackblitz, чтобы посмотреть, будет ли она реплицирована.   -  person Jack    schedule 05.06.2019


Ответы (1)


Наконец, разобрался, мне нужно было обновить конфигурацию моей цели / модуля на корневом уровне tsconfig.json.

Я изменил:

"target": "es5",
"module": "commonjs",

To:

"target": "es2015",
"module": "esnext",

Ленивая загрузка теперь работает ????

person Jack    schedule 05.06.2019
comment
Angular CLI: 8.3.17 Узел: 11.15.0 ОС: linux x64 У меня есть указанная выше конфигурация, и tsconfig настроен на то же, что и упоминалось. По-прежнему ленивая загрузка не работает - person Kishore Chilakala; 19.12.2019