Angular v11.0.1로 업그레이드 한 후 제대로 작동하지 않는 하위 라우팅 기능 모듈을 지연로드하는 최상위 라우터가 있습니다.
ng11에서 라우터 행사에서 로그 아웃, 기능 모듈을로드하고, RouteConfigLoadStart
그리고 RouteConfigLoadEnd
모두 적절한 자식 라우터 구성과 트리거되지만 RoutesRecognized
호출되지 않습니다. 링크 (아님 routerLink
)를 두 번 클릭하면 모든 이벤트가 정상적으로 트리거되고 적절한 구성 요소가로드됩니다.
설명 : 이것은 단지 연결 문제가 아닙니다. 다른 경로 (처음에도로드되지 않음)로 이동 한 다음 원래 경로로 돌아 가지 않는 한 초기 페이지로드에서도 작동하지 않습니다.
이 설정은 Angular v10.2.3에서 제대로 작동합니다 (즉, 한 번의 클릭으로 초기로드시).
AppRoutingModule :
const routes: Routes = [
{path: '', redirectTo: '/dashboard', pathMatch: 'full'},
{path: 'browse', loadChildren: () => import('./browse/browse.module').then(m => m.BrowseModule)},
{path: 'dashboard', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule)},
{path: '**', redirectTo: '/dashboard'}
];
@NgModule({
imports: [RouterModule.forRoot(routes, {useHash: true})],
exports: [RouterModule]
})
export class AppRoutingModule { }
DashboardRoutingModule
const routes: Routes = [
{path: '', component: DashboardComponent},
{path: ':id', component: DashboardComponent}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class DashboardRoutingModule { }
AppModule
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule
],
providers: [{provide: APP_BASE_HREF, useValue: ''}],
bootstrap: [AppComponent]
})
export class AppModule { }
AppComponent 템플릿
<router-outlet></router-outlet>
이 문제를 해결하는 데 도움이 될 추가 세부 정보를 제공하게되어 기쁩니다. 미리 감사드립니다.
그래서, 우리 빌드를 많이 플레이 한 후에, 나는 그것을 알아 냈습니다! 이 작업은 헤더가 Angular 요소 인 서버 바인딩 JSF 컨테이너 내부에 "SPA"가있는 혼합 환경에서 수행합니다. 이 시점까지는, 내가 사용하고 있었던 ng-build-plus
및 --extra-webpack-config
지정 webpack.externals
헤더와 SPA 사이의 공통 자원을 공유하기 :
module.exports = {
externals: {
"rxjs": "rxjs",
"@angular/core": "ng.core",
"@angular/common": "ng.common",
"@angular/common/http": "ng.common.http",
"@angular/platform-browser": "ng.platformBrowser",
"@angular/platform-browser-dynamic": "ng.platformBrowserDynamic",
"@angular/compiler": "ng.compiler",
"@angular/forms": "ng.forms"
}
}
SPA 빌드에서 이것을 제거한 후 모든 것이 예상대로 작동하기 시작했습니다. 그것은처럼 보이는이 수 방법에 문제가 될 ngx-build-plus
함께 문제였다 외관 물건을 바느질한다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다