Я только что говорил с рабочим колледжем о том, как организовать конфигурацию маршрутизации функций.
Мы обсудили два подхода.
Подход 1: отдельный модуль маршрутизации
Первый подход заключается в создании отдельного feature-a-routing.module.ts
, который содержит все компоненты маршрутизации, и импорта его в FeatureAModule
:
// feature-a-routing.module.ts
const routes: Routes = [
{
path: '/',
component: HelloComponent,
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class FeatureARoutingModule {}
// feature-a.module.ts
@NgModule({
declarations: [
HelloComponent,
NeugeschaeftContainerComponent,
ProduktauswahlNeugeschaeftComponent
],
providers: [],
imports: [CommonModule, FeatureARoutingModule]
})
export class FeatureAModule {}
Подход 2: константа отдельных маршрутов
Второй подход заключается в определении константы routes
только в отдельном файле:
// feature-a-routes.ts
export const featureARoutes: Routes = [
{
path: '/',
component: HelloComponent,
}
];
// feature-a.module.ts
@NgModule({
declarations: [
HelloComponent,
NeugeschaeftContainerComponent,
ProduktauswahlNeugeschaeftComponent
],
providers: [],
imports: [CommonModule, RouterModule.forChild(featureARoutes)]
})
export class FeatureAModule {}
Дискуссия
Первый подход, как представляется, имеет лучшее разделение интересов.Какую единственную разницу я вижу.Есть ли какие-либо другие преимущества этого первого подхода, возможно, в отношении тестирования, оптимизации или есть даже предостережения?И каковы будут преимущества второго подхода?