Angular CLI的第6版以不同方式生成路由模块,我的app-routing.ts如下:
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './components/home/home.component';
import { TodoComponent } from './components/todo/todo.component';
const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: '**', redirectTo: 'home' },
{ path: 'todo', component: TodoComponent }
];
export const AppRoutes = RouterModule.forRoot(routes);
但我的浏览器控制台指向最后一行并显示以下错误:
未捕获的TypeError: _angular_router__WEBPACK_IMPORTED_MODULE_0 __。RouterModule.forRootd不是函数
浏览网后未能找到答案here too,我会问,CLI 6是否正常生成实现@ngModule及其导入和导出的更多路由模块在以前的版本中做过,例如:
@NgModule({
imports: [
RouterModule.forChild(crisisCenterRoutes)
],
exports: [
RouterModule
]
})
如果没有,这个错误的解决方案是什么?
更新,这是我app-shared.module的代码:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { AppComponent } from './app.component';
import { AppRoutes } from './app.routing';
import { NavMenuComponent } from './components/navmenu/navmenu.component';
import { HomeComponent } from './components/home/home.component';
import { TodoModule } from './components/todo/todo.module';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import { HeaderInterceptor } from './core/header.interceptor';
@NgModule({
declarations: [
AppComponent,
NavMenuComponent,
HomeComponent
],
imports: [
TodoModule,
CommonModule,
HttpClientModule,
FormsModule,
BrowserModule,
AppRoutes
],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: HeaderInterceptor,
multi: true
}
],
bootstrap: [AppComponent]
})
export class AppSharedModule { }