После того как я решил объединить два приложения Angular на мой предыдущий вопрос , я столкнулся с другой проблемой.Некоторые маршруты в app1 и app2 имеют одинаковый путь.
Вот пример:
app.routing.ts (root):
const routes: Routes = [
{
path: 'app1',
loadChildren: './app1/app1.module#App1Module'
},
{
path: 'app2',
loadChildren: './app2/app2.module#App2Module'
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
app1.routing.ts (App1):
const routes: Routes = [
{
path: 'page1',
component: ./app1page1/app1page1.module#App1Page1Module
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
app2.routing.ts (App2):
const routes: Routes = [
{
path: 'page1',
component: ./app2page1/app2page1.module#App2Page1Module
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
app1page1.routing.ts (App1 - Page1):
const routes: Routes = [
{
path: '',
component: App1Page1Component,
children: [
{
path: 'subpage1',
component: App1Subpage1Component
}
]
}
]
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
app2page1.routing.ts (App2 - Page1):
const routes: Routes = [
{
path: '',
component: App2Page1Component,
children: [
{
path: 'subpage1',
component: App2Subpage1Component
}
]
}
]
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
Проблема заключается в следующем: когда я перехожу, например, на www.mysite.com/app1/page1, меня перенаправляют на / app2 / page1.Как я могу исправить маршруты без указания всем уникального пути?
Заранее спасибо.
Обновление: я изменил пример, чтобы более точно описать мою ситуацию и лучше отразить в приложениисостав.В основном, есть два слоя loadChilden.Я заметил, что на самом деле не могу перейти к самим загруженным дочерним элементам app1 и app2 (т.е. если я перехожу в / app2 / page1 / subpage1, я перенаправлен в / app1 / page1 / subpage1).Под навигацией я имею в виду как ввод вручную URL-адреса в браузере, так и выполнение router.navigate в коде.
Обновление 2: после перезапуска приложения во время компиляции возникла ошибка:
ERROR in Duplicated path in loadChildren detected: "./page1/page1.module#Page1Module" is used in 2 loadChildren, but they point to different modules "(/src/app/app1/page1/page1.module.ts and "/src/app/app2/page1/page1.module.ts"). Webpack cannot distinguish on context and would fail to load the proper one.
Является ли единственным решением переименование модуля?