to nie jest w ogóle problem.
Wystarczy dodać routing ręcznie.
All że flaga --routing
robi, oprócz dodawania <router-outlet></router-outlet>
w app.component.html
, to dodać q RouterModule.forRoot()
rozmowy w oddzielnym module o nazwie AppRoutingModule
i te moduły w imports
z AppModule
.
Tak więc w app.module.ts
dodaje AppRoutingModule
do imports
swojego AppModule
.
Numer AppRoutingModule
jest zdefiniowany jako app-routing.module.ts
, który jest tworzony from this template.
Jest bardzo mały, że będę go skopiować tutaj:
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 { }
{path: '', children:[]}
tylko zastępczy że oczekuje się zastąpić (wiem bo dodałem go do kodu źródłowego). Po prostu upewnia się, że router nie narzeka na <router-outlet>
, gdy nie masz żadnych tras.
Wracając do pytania: co powinieneś zrobić? Albo skopiować plik do projektu, aby wyglądać tak jak w oryginalnym CLI i dodać AppRoutingModule
zamiast twoi AppModule
„s imports
...
Albo po prostu dodaj RouterModule.forRoot([/* routes here */])
do AppModule
” s imports
. Nadal będzie działać, dzięki wbudowanej obsłudze leniwego ładowania i wszystkim, co działa dobrze.
P.S.
Pamiętaj, że aby dodać trasy podrzędne, zawsze możesz wygenerować więcej modułów z routingiem ng generate module Foo --routing
niezależnie od tego, czy użyłeś flagi --routing
z ng new
czy nie. Żadnej konfiguracji ani magii.
Dodaj kod samodzielnie. Lub wygeneruj kolejny moduł z routingiem i skopiuj i wklej wygenerowany kod. –
nowa wersja kątowego cli nie obsługuje ng init – NuttLoose