【发布时间】:2018-12-05 23:46:38
【问题描述】:
我有一个带有路由和延迟加载模块的 Angular 6 应用程序。 AppModule 有一个路由配置,其中包含两个延迟加载的路由,比如 AModule 和 BModule。
我们为 prod 和 dev 配置了不同的 angular-cli 环境。
在开发 BModule 期间,我希望 BModule 在我们的开发服务器上作为路由可用,但在我们的生产服务器上不可用。
因此,我们使用 angular-cli 环境 dev 构建应用程序的开发版本,而使用环境 prod 构建生产版本。
所以现在和将来通常会为 prod 配置一个路由配置,为 dev 配置一个路由配置,这是 prod 配置的超集。
所以我所做的是创建了两个路由配置:
export const prodRoutes: Routes = [
{ path: 'a-module', loadChildren: `app/a-module/a.module#AModule` },
];
export const devRoutes: Routes = [
{ path: 'b-module', loadChildren: `app/b-module/b.module#BModule` },
];
对于 prod,我只需使用变量 prodRoutes 进行路由配置。
效果很好。
对于开发配置,我将路由设置为[...devRoutes, ...prodRoutes]。
那不能正常工作。看来 Angular 不理解合并的路由配置。
有没有办法将多个路由数组合并到一个工作路由配置中?
【问题讨论】:
-
我尝试了您在我的项目中尝试过的方法,它似乎有效。另外,你有
AModuleinsindeb.module吗?因为,您的开发路线配置告诉我。是错字还是故意的? -
我猜 OP 为示例重命名了他的模块。一定是笔误
-
这是一个错字。对不起。我修好了。
标签: angular angular-cli angular-routing