我正在使用最新的Angular CLI build(16),我試圖延遲加載路由,但由於某種原因失敗,我找不到任何新的問題或解決方案爲了這。Angular 2沒有提供RouterOutletMap的延遲加載
文件夾結構:
core.component.html:
<router-outlet></router-outlet>
core.component.ts:
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {RouterModule} from '@angular/router';
// Modules
import {AdminAreaModule} from './+admin-area';
// Services
import {GlobalsService, RegexService, UtilsService} from './shared';
// Main app component
import {CoreComponent} from './core.component';
@NgModule({
imports: [
BrowserModule,
// Feature modules
AdminAreaModule
],
exports: [
BrowserModule
],
declarations: [
CoreComponent
],
providers: [
GlobalsService,
RegexService,
UtilsService
],
bootstrap: [CoreComponent]
})
export class CoreModule {}
管理區域,router.module。 ts:
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
// Global modules
import {ComponentsModule, SharedModule} from '../../shared';
// Lazy loaded modules
import {AdminAreaModule} from '../admin-area.module';
@NgModule({
imports: [
RouterModule.forChild([
{
path: 'admin',
loadChildren: 'app/+admin-area/admin-area.module#AdminAreaModule'
}
])
],
exports: [
RouterModule
]
})
export class AdminAreaRouterModule {}
管理-area.module.ts:
import {NgModule} from '@angular/core';
import {AdminAreaRouterModule} from './router';
import {ComponentsModule, SharedModule} from '../shared';
@NgModule({
imports: [
ComponentsModule,
SharedModule,
// Feature modules
AdminAreaRouterModule
],
exports: [
ComponentsModule,
SharedModule,
AdminAreaRouterModule
]
})
export class AdminAreaModule {}
這將引發一個錯誤:
Error in ./CoreComponent class CoreComponent - inline template:0:0 caused by: No provider for RouterOutletMap!
爲什麼會出現這個錯誤時,我清楚地在我core.component.ts
文件router-outlet
?
這只是給了'最大callstack超過':| – Chrillewoodz
基本上我所擁有的是網站的兩部分,一個管理區和一個普通網站。我想''''''''''''''''''''''''''''''''''''''''''可以成爲普通網站,'/所以我用自己的路由製作了兩個模塊。我是否懶惰加載核心模塊中的'/'和'/ admin'?然後他們各自的孩子在自己的路由文件? – Chrillewoodz
@Chrillewoodz是的,你會在覈心模塊中延遲加載/和/管理,相應的孩子應該被捆綁在延遲加載的模塊中。 – koningdavid