Solución:
Eso no es un problema en absoluto.
Simplemente agregue el enrutamiento manualmente.
Todo lo que el --routing
bandera lo hace, además de agregar <router-outlet></router-outlet>
en app.component.html
, es agregar q RouterModule.forRoot()
llamar a un módulo separado llamado AppRoutingModule
e incluir ese módulo en el imports
de AppModule
.
Entonces, en app.module.ts
, agrega AppRoutingModule
al imports
de tu AppModule
.
los AppRoutingModule
Se define como app-routing.module.ts
, que se crea a partir de esta plantilla.
Es muy pequeño que lo copiaré aquí:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{
path: '',
children: []
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
los {path: '', children:[]}
es solo un marcador de posición que se espera que reemplace (lo sé porque lo agregué al código fuente). Solo se asegura de que el enrutador no se queje del <router-outlet>
cuando no tienes ninguna ruta.
Volviendo a la pregunta, que deberías hacer Copie el archivo a su proyecto, para que se parezca a la CLI original, y agregue AppRoutingModule
para usted AppModule
‘s imports
…
O simplemente agrega RouterModule.forRoot([/* routes here */])
para usted AppModule
‘s imports
en lugar de. Seguirá funcionando, con soporte integrado para carga diferida y todo lo demás funciona bien.
PD
Recuerde que para agregar rutas secundarias, siempre puede generar más módulos con enrutamiento ng generate module Foo --routing
independientemente de si usó el --routing
bandera con ng new
o no. Sin configuración ni magia de la que preocuparse.
-
ng generate module app-routing --module app --flat
- Reemplazar
app
con el nombre de su módulo existente - Reemplazar
app-routing
con el nombre para darle al módulo de enrutamiento
- Reemplazar
-
En el nuevo módulo, agregue
appRoutes
yRouterModule.forRoot
oRouterModule.forChild
.import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; const appRoutes: Routes = [ { path: 'some-path', component: SomeComponent } ]; @NgModule({ imports: [ RouterModule.forRoot(appRoutes) ], exports: [ RouterModule ] }) export class AppRoutingModule {}
- Agregar
<router-outlet></router-outlet>
a su componente si es necesario (por ejemplo,app.component.html
)
Fuente