Having tested successfully a sub-app routing, I called then the same sub-app from its parent app, but this time the routing doesn't work and the following console error is shown:
Error: BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.
With the following code I am trying to override the sub-app BrowserModule with CommonModule that should be exported to the parent app, because BrowserModule should be used only once, and in fact, it is already used by the parent app.module.ts. So my sub-app app.module.ts is as follows:
const routes: Routes = [
{
path: 'module1',
loadChildren: () => import('../../../sub-app1/src/app/module1/module1.module').then( module => module.Module1Module )
},
{
path: 'module2',
loadChildren: () => import('../../../sub-app1/src/app/module2/module2.module').then( module => module.Module2Module )
}
];
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
RouterModule.forRoot(routes)
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
@NgModule({
imports: [
AppModule,
CommonModule,
RouterModule.forChild(routes),
]
})
export class SubApp1Module {}
So what can be done to get the routing working from the parent app?