当路由具有子模块时,Angular应用程序无法有条件地加载路由

时间:2019-01-31 16:17:13

标签: angular angular2-routing

我需要一种在启用或未启用“注释”的情况下构建应用程序的方法。所以我认为我可以使用环境变量。

import { environment } from 'app/../environments/environment';

let routes: Routes = [
    { path: 'jobs', component: JobsComponent}
];

if(environment.enable_comments) {
    // routes only for for the second app
    routes.push(
        { path: 'jobs/comments', loadChildren: 'app/comments/comments.module#CommentsModule'}
    );
}
@NgModule({
    imports: [ RouterModule.forRoot(routes, {preloadingStrategy: PreloadAllModules }) ],
    exports: [ RouterModule ]
})

奇怪的是,它有时有效,有时却无效。它仅在此路由jobs/comments

上失败
  

core.js:15714错误错误:未捕获(承诺中):错误:找不到   模块...

奇怪的是,当我删除条件时。我工作正常。

const routes: Routes = [
    { path: 'jobs', component: JobsComponent},
    { path: 'jobs/comments', loadChildren: 'app/comments/comments.module#CommentsModule'}
];
@NgModule({
    imports: [ RouterModule.forRoot(routes, {preloadingStrategy: PreloadAllModules }) ],
    exports: [ RouterModule ]
})

我在这里感到困惑。

0 个答案:

没有答案