路由模块停止工作:未捕获(承诺中):错误:找不到'xxxModule'



我在路由模块上遇到了一个奇怪的问题。路由模块曾经工作过。但是,在我使用不同模块名称的不同文件夹中添加另一个项目路由模块后,在尝试导航到步骤 1 时,此项目出错。

错误:未捕获(在承诺中(:错误:在"./+step1/step1.module"中找不到"步骤1模块"。

步骤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 { }

要解决此问题,我必须在

loadChildren: './+step1/step1.module#Step1Module',

并保存文件。然后错误将消失,项目将正在运行。我不明白这里发生了什么。由于实际上没有任何变化,所以我也无法将任何东西推送到 git 来解决服务器端的问题。

任何帮助将不胜感激!

谢谢!

更新:步骤 1 和步骤 2 的路由模块

step1-routeting.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-routeting.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 { }

请将完整路径应用于您的模块。在步骤 1.模块文件中将此行更改为以下内容:

children: [
{
path: 'dashboard',
loadChildren: 'app/components/dashboard/dashboard.module#DashboardModule'
}
]

这些只是示例数据,请替换您的数据。 让我们尝试一次,请告诉我。

注意 :- 路径开始app/path/to/module/喜欢这个完整路径。

对于您的疑问,请访问这些网站并注意加载儿童

https://scotch.io/tutorials/lazy-loading-in-angular-v2

https://angular.io/guide/lazy-loading-ngmodules

我希望这能解决你的问题。

谢谢

卡南穆图。

相关内容

最新更新