У меня странная проблема с модулем маршрутизации. Модуль маршрутизации работал. Однако после того, как я добавил еще один модуль маршрутизации проекта в другую папку с другим именем модуля, я получил ошибку в этом проекте при попытке перейти к шагу 1.
Ошибка: Uncaught (в обещании): Ошибка: не удается найти «Step1Module» в «./+step1/step1.module».
шаг1.модуль:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AbcComponent } from './abc.component';
import { StepGuardService } from './shared/step-guard/step-guard.service';
const routes: Routes = [
{
path: '', component: AbcComponent, children: [
{
path: '',
redirectTo: 'step1',
pathMatch: 'full'
},
{
path: 'step1',
loadChildren: './+step1/step1.module#Step1Module',
data: {
preload: true,
stepNumberOnNavigator: 1
},
canActivate: [StepGuardService]
},
{
path: 'step2',
loadChildren: './+step2/step2.module#Step2Module',
data: {
preload: true,
stepNumberOnNavigator: 2
},
canActivate: [StepGuardService]
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class AbcRoutingModule { }
Чтобы исправить это, я должен повторно ввести имя модуля «Step1Module» с точно такими же буквами (в основном скопировать и вставить) в строке
loadChildren: './+step1/step1.module#Step1Module',
и сохраните файл. Тогда ошибка исчезнет, и проект будет запущен. Я не понимаю, что здесь происходит. Поскольку на самом деле ничего не изменилось, я не могу ничего отправить в git, чтобы исправить проблему и на стороне сервера.
Любая помощь будет оценена!
Спасибо!
Обновления: модуль маршрутизации для шага 1 и шага 2.
step1-routing.module.ts:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { Step1Component } from './step1.component';
const routes: Routes = [
{
path: '',
component: Step1Component,
data: {
bannerTitle: 'xxx',
pageTitle: 'xxx'
}
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class Step1RoutingModule { }
step2-routing.module.ts:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { Step2Component } from './step2.component';
import { Step2aComponent } from '../+step2/step2a/step2a.component';
import { QuestionnaireDetailComponent } from './questionnaire-detail/questionnaire-detail.component';
import { EligibilityDeclineComponent } from './eligibility-decline/eligibility-decline.component';
const routes: Routes = [
{
path: '',
component: Step2aComponent,
data: {
bannerTitle: 'xxx',
pageTitle: 'xxx'
}
},
{
path: 'eligibility',
component: Step2Component,
data: {
bannerTitle: 'xxx',
pageTitle: 'xxx'
}
},
...
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class Step2RoutingModule { }