Saltar al contenido

¿Cómo agregar un módulo de enrutamiento a un módulo existente en la versión 1.1.1 de CLI angular?

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 AppRoutingModulee 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.

  1. 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
  2. En el nuevo módulo, agregue appRoutes y RouterModule.forRoot o RouterModule.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 {}
    
  3. Agregar <router-outlet></router-outlet> a su componente si es necesario (por ejemplo, app.component.html)

Fuente

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *