Задать вопрос
@iliyaisd

После обновления Angular с 4 на 6 как заставить работать lazy routes?

Есть lazy routes в проекте, написанном под Angular 4.
После обновления на 6 выдаётся много ошибок:

ERROR in ./src/$$_lazy_route_resource lazy namespace object
Module not found: Error: Can't resolve '/path/to/project/src/app/lazy/about/about.module.ngfactory.js' in '/path/to/project/src/$$_lazy_route_resource'


И таких много, для каждого роута.

Подключаются так:

export const AppRoutes: Routes = [
(...) 
  {
    path: 'about-us',
    loadChildren: './lazy/about/about.module#AboutModule'
  },
(...) 
]


import {RouterModule} from '@angular/router';
import {ModuleWithProviders} from '@angular/core';

import {AppRoutes} from './app.routes';
/**
 * @type {ModuleWithProviders}
 */
export const AppRoutingModule: ModuleWithProviders = RouterModule.forRoot(AppRoutes);


И потом в app.module.ts AppRoutingModule добавляется в imports.

Компилирую как:
ng build --prod --aot --output-hashing=all

Как видно из ошибки, оно пытается искать *.ngfactory.js, которых нет.
Вот это не помогло: https://github.com/angular/angular-cli/issues/11835

Как можно починить?

Заранее большое спасибо!
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы