Pracuję nad aplikacją internetową z dwoma modułami najwyższego poziomu i kilkoma modułami pod każdym z nich. Przykład:Angular2 nie może znaleźć modułu zagnieżdżonego
publicznego
- rejestracja
- logowanie
portal
- dashboard
- Wynika
- nominacje
Każdy z modułów zagnieżdżonych ma jeden lub więcej potencjalnych tras, usług i komponentów. Moduły publiczne i portalowe mają również inne wymagania dotyczące układu.
Co chciałbym zrobić, to podzielić mój kod na moduły dla każdej głównej sekcji powyżej. Jednak, gdy próbuję załadować moduł jako dziecko innej trasie, pojawia się błąd stwierdzając modułu nie można znaleźć:
error_handler.js:46
EXCEPTION: Uncaught (in promise): Error: Cannot find module './dashboard/dashboard.module'.
Oto moje pliki routingu:
/app/app.routing.ts
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
export const appRouting: ModuleWithProviders = RouterModule.forRoot([
{
path: 'portal',
loadChildren: 'portal/portal.module#PortalModule'
},
{
path: '',
loadChildren: 'public/public.module#PublicModule'
}
]);
/app/portal/portal.routing.ts
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { PortalComponent } from './portal.component';
export const portalRouting: ModuleWithProviders = RouterModule.forChild([
{
path: '',
component: PortalComponent,
children: [
{
path: 'dashboard',
loadChildren: './dashboard/dashboard.module#DashboardModule'
}
]
}
]);
Moduł "panel" żyje na: /app/portal/dashboard/dashboard.module.ts, ale bez względu na to, do czego ustawię ścieżkę modułu w loadChildren
, nie może go znaleźć.
Co robię źle? Używam WebPack zamiast SystemJS.
Czy możesz dodać plik 'systemjs.config.js'? – Supamiu
@Supamiu Przepraszam, zapomniałem wspomnieć o używaniu pakietu WebPack – Brandon
Nie sądzę, że problem pochodzi stąd, ale twoja ścieżka do portalu PortalRouting powinna być pustą ścieżką, ponieważ "portal" już jest w aplikacji "Oddając się" –