Angular 7子路由延迟加载模块不起作用

时间:2019-02-04 18:27:03

标签: angular angular-routing angular7

访问父模块localhost:4200/child/subchild的子模块会在控制台localhost:4200/child/runtime.js中找不到错误-404

转到localhost:4200/child将加载子组件,而转到/child/subchild将加载空白页,并在控制台上显示404错误消息。

版本:

  • 角度(核心,路由器)-7.2.3
  • Angular CLI-7.3.0
  • 节点-10.12

主模块

const routes: Routes = [{
    path: "child",
    loadChildren: "./modules/child/child.module#ChildModule",
}, {
    path: "",
    pathMatch: "full",
    redirectTo: "",
}];
@NgModule({
    declarations: [AppComponent],
    imports: [
        RouterModule.forRoot(routes),
        ...
    ]
})

子模块

const routes: Routes = [{
    path: "",
    component: ChildComponent,
    children: [
        { path: "subchild", component: SubchildComponent }
    ]
}];
@NgModule({
    declarations: [ChildComponent, SubchildComponent],
    imports: [
        RouterModule.forChild(routes),
        ...
    ]
})

该页面页面应显示为正确无误地转到url: http://localhost:4200/child/subchild

1 个答案:

答案 0 :(得分:0)

自从我更改了base href的{​​{1}}以来,我已经找到了造成此问题的原因。

将其从index.html还原为base href='./'

由于我也使用Cordova将这个角度项目编译为Android,因此我以此方式更改了基本href。