Angular 有角度的9条路线,提供无错误的空白页

Angular 有角度的9条路线,提供无错误的空白页,angular,angular-ui-router,angular9,angular-routerlink,angular-ivy,Angular,Angular Ui Router,Angular9,Angular Routerlink,Angular Ivy,我刚刚升级到Angular 9,并使用延迟加载创建了一些子路由。在这些更改之前,我的项目和路由工作得很好,但在这两次更改之后,只有我的HomeComponent路由(路径:“”)工作正常,但如果我尝试单击指向其他路由的链接(使用routerLink),它根本不会重定向,如果我在浏览器中手动写入路由,它给了我一个没有错误的空白页 总而言之:项目和路由运行良好,但在我创建角度延迟加载路由后,唯一有效的路由是默认路由(HomeComponent),如果我尝试单击链接转到其他路由,则不会发生任何情况,如

我刚刚升级到Angular 9,并使用延迟加载创建了一些子路由。在这些更改之前,我的项目和路由工作得很好,但在这两次更改之后,只有我的
HomeComponent
路由(路径:“”)工作正常,但如果我尝试单击指向其他路由的链接(使用routerLink),它根本不会重定向,如果我在浏览器中手动写入路由,它给了我一个没有错误的空白页

总而言之:项目和路由运行良好,但在我创建角度延迟加载路由后,唯一有效的路由是默认路由(HomeComponent),如果我尝试单击链接转到其他路由,则不会发生任何情况,如果我在浏览器中手动键入这些路由,则会显示一个空白页,不会出现任何错误


应用程序模块.ts


@NGD模块({
声明:[
应用组件,
HomeComponent,
],
进口:[
共享模块,
家庭模块,
Mugan86GoogleAnalyticsModule.forRoot({analyticsId:'XXX',showLog:false}),
AnimateOnScrollModule.forRoot(),
BrowserModule.withServerTransition({appId:'serverApp'}),
ServiceWorkerModule.register('ngsw-worker.js',{enabled:environment.production}),
],
供应商:[
{提供:ErrorHandler,useClass:RollbarErrorHandler},
{提供:RollbarService,使用工厂:rollbarFactory}
],
引导:[AppComponent],
出口:[
共享模块,
家庭模块,
]
})
导出类AppModule{
}
共享的.module.ts

@NgModule({
声明:[
页脚组件,
加载球组件,
导航组件,
滚动的直接的,
trackscroll指令,
顶部箭头组件,
SnackbarComponent,
],
进口:[
浏览器模块,
路由模块,
批准模块,
BrowserAnimationsModule,
公共模块,
过滤器模块,
反应形式模块,
FormsModule,
重述小室模块,
动画滚动模块
],
出口:[
浏览器模块,
公共模块,
页脚组件,
加载球组件,
导航组件,
过滤器模块,
批准模块,
反应形式模块,
FormsModule,
重述小室模块,
动画模块,
滚动的直接的,
trackscroll指令,
顶部箭头组件,
SnackbarComponent,
路由模块,
BrowserAnimationsModule]
})
导出类共享模块{
}
home.module.ts

@NgModule({
声明:[
特性组件,
联系人组件,
头部组件,
主要说明组件,
影响者促进组分,
社会中介组织,
BoxItemComponent,
BandIconComponent,
服务组件,
],
进口:[
共享模块,
],
出口:[
特性组件,
联系人组件,
头部组件,
主要说明组件,
影响者促进组分,
社会中介组织,
BoxItemComponent,
BandIconComponent,
服务组件
]
})
导出类HomeModule{}
应用程序路由.module.ts

导出常量路由:路由=[
{路径:'',路径匹配:'full',组件:HomeComponent},//未指定路由
{路径:'',组件:HomeComponent},
{path:'sobre nosotros',loadChildren:()=>import('./components/about-us/about-us.module')。然后(m=>m.aboutus-module)},
{
路径:“preguntas frecuentes”,
loadChildren:()=>import('./组件/常见问题/常见问题.module')。然后(m=>m.CommonQuestionsModule)
},
{path:'sitemap',loadChildren:()=>import('./components/sitemap/sitemap.module')。然后(m=>m.SitemapModule)},
{路径:'**',组件:HomeComponent},//回退路由(未找到-404)
];
@NGD模块({
导入:[RouterModule.forRoot(路由,{initialNavigation:'enabled',Preload策略:Preload AllModules}],
导出:[路由模块]
})
导出类批准模块{
}

作为一个示例,我将显示其中一条不起作用的路由的模块和路由模块:

关于美国模块。ts

@NgModule({
声明:[关于组件],
进口:[
应用模块,
公共模块,
关于路由模块,
]
})
导出类aboutus模块{}
关于我们的路由.module.ts

const-routes:routes=[{path:'',组件:AboutUsComponent}];
@NGD模块({
导入:[RouterModule.forChild(路由)],
导出:[路由模块]
})
导出类AboutRoutingModule{
}

额外信息

tsconfig.json(angularCompilerOptions)

angular.json(aot)

package.json(查看版本)


我有另一个项目使用常春藤和子路由,我只是按照我所提到的项目所做的相同步骤,但我发现了所描述的问题

编辑
我刚刚删除了延迟加载和每个路由的模块/路由模块,应用程序再次工作。因此,问题肯定是由延迟加载功能造成的。

请删除前两个主路由(HomeComponent)

在app-routing.module中,您可以通过以下方式启用路由调试:

@NgModule({
imports: [
      RouterModule.forRoot(routes, {enableTracing: true}),
也许您可以删除{initialNavigation:'enabled',PrelodingStrategy:PreloadAllModules}

你的代码看起来不错。我希望调试能给你更多的信息

AppRoutingModule只能在AppModule中使用。不允许在一个延迟加载的子模块中引用AppRoutingModule

在AppModule中导入BrowserModule、BrowserAnimationsModule和AppRoutingModule


尽量避免使用大型共享模块。请参阅:

禁用常春藤选项并检查。它和我一起工作


“enableIvy”:false,

我看不出问题,只是想帮助(:这两条路径:
{path:'',pathMatch:'full',component:HomeComponent}
{path:'',component:HomeComponent}
看起来像是重复的。我想只有一条

"aot": true,
"dependencies": {
    "@angular/animations": "~9.1.9",
    "@angular/common": "~9.1.9",
    "@angular/compiler": "~9.1.9",
    "@angular/core": "~9.1.9",
    "@angular/forms": "~9.1.9",
    "@angular/platform-browser": "~9.1.9",
    "@angular/platform-browser-dynamic": "~9.1.9",
    "@angular/platform-server": "~9.1.9",
    "@angular/router": "~9.1.9",
    "@angular/service-worker": "~9.1.9",
    "@josee9988/filter-pipe-ngx": "^1.1.0",
    "@nguniversal/express-engine": "^9.1.1",
    "animate.css": "^3.7.2",
    "emailjs-com": "^2.4.1",
    "express": "^4.15.2",
    "mugan86-ng-google-analytics": "^1.1.1",
    "ng-recaptcha": "^5.0.0",
    "ng2-animate-on-scroll": "^2.0.0",
    "rollbar": "^2.16.2",
    "rxjs": "~6.5.5",
    "tslib": "^1.13.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.901.7",
    "@angular/cli": "~9.1.7",
    "@angular/compiler-cli": "~9.1.9",
    "@angular/language-service": "~9.1.9",
    "@nguniversal/builders": "^9.1.1",
    "@types/express": "^4.17.0",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^5.0.9",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.5.4",
    "protractor": "^7.0.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.8.3"
@NgModule({
imports: [
      RouterModule.forRoot(routes, {enableTracing: true}),