Angular 角度2路由器错误:始终重定向到主页

Angular 角度2路由器错误:始终重定向到主页,angular,typescript,module,routing,Angular,Typescript,Module,Routing,我创建了angular 5应用程序,它正在调试,没有任何编译错误。 它以前工作过。在那个时候,我只使用了一个route.ts文件和一个app.module.ts文件来完成整个项目。然后我意识到当项目变大时,它会变得更复杂。然后我只是改变了我的文件夹结构。现在,每次我转到其他URL,它都会重定向到主页 关于我的文件夹结构,我为每个功能创建了单独的应用程序模块和路由模块,如下所示。主页和登录页有不同的布局。 我的身份验证路由通过身份验证路由.module.ts进行处理,并导入到身份验证模块.ts。

我创建了angular 5应用程序,它正在调试,没有任何编译错误。 它以前工作过。在那个时候,我只使用了一个route.ts文件和一个app.module.ts文件来完成整个项目。然后我意识到当项目变大时,它会变得更复杂。然后我只是改变了我的文件夹结构。现在,每次我转到其他URL,它都会重定向到主页

关于我的文件夹结构,我为每个功能创建了单独的应用程序模块和路由模块,如下所示。主页和登录页有不同的布局。 我的身份验证路由通过身份验证路由.module.ts进行处理,并导入到身份验证模块.ts。 I使用app routing.module.ts处理主要路由,并导入app.module.ts

我的文件夹结构

auth-routing.modules.ts

从'@angular/core'导入{NgModule};
从“@angular/common”导入{CommonModule};
从'@angular/router'导入{RouterModule,Routes};
从“../auth/no auth guard.service”导入{NoAuthGuard};
从“../layout/home auth resolver.service”导入{homeauth resolver};
从“../auth/components/index”导入{AuthComponent};
常量路由:路由=[
{路径:'login',组件:AuthComponent},
{路径:'寄存器',组件:AuthComponent}
];
@NGD模块({
进口:[
公共模块,
RouterModule.forRoot(路由)
],
导出:[路由模块]
})

导出类AuthRoutingModule{}
您不能在
auth.module.ts
中导出
AuthRoutingModule

auth.module.ts
更改为:

import { ModuleWithProviders, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule } from '@angular/router';

import { AuthRoutingModule } from './auth-routing.module';
import { AuthComponent} from './components/index';

@NgModule({
  declarations: [     
    AuthComponent          
  ],
  imports: [
    BrowserModule,    
    AuthRoutingModule   
  ],
  exports: [AuthRoutingModule],
  providers: [ ]     
})
export class AuthModule { }
并从
auth routing.module.ts
中删除
CommonModule
用法

像这样:

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { NoAuthGuard } from './auth/no-auth-guard.service';
import { HomeAuthResolver } from './layout/home-auth-resolver.service';

import {LayoutComponent,  PUBLIC_ROUTES } from './layout/index';

const routes: Routes = [ 
    { path: '', component: LayoutComponent, data: { title: 'Secure Views' }, children: PUBLIC_ROUTES },
    { path: '**', component: LayoutComponent, data: { title: 'Secure Views' }, children: PUBLIC_ROUTES }
];

@NgModule({
    imports: [
        RouterModule.forRoot(routes)
    ],
    exports: [RouterModule]
})
export class AppRoutingModule { }

您尚未将功能模块路由加载到主路由器配置。您需要将身份验证路由延迟加载到app router中。查看此文档以了解更多信息。auth.module.ts类的角色是什么?@isanka这对您有帮助吗?请删除路由模块导入中的CommonModule,并检查并从app.module.ts中删除路由模块导入。在我从auth-routing.module.ts中删除CommonModule后,它开始工作。非常感谢。你能编辑一下你的答案吗?这样对别人会有帮助的。。