我似乎遇到了Angular 2的新路由器3.0.0-alpha.8的问题。
长话短说,我的app.routes.ts是
export const routes: RouterConfig = [
{ path: '', component: HomeComponent, canActivate: [AuthGuard] },
{ path: 'login', component: LoginComponent },
...SectionARoutes,
...SectionBRoutes
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes),
AUTH_PROVIDERS
];
它加载A部分路线就好了,这是:
export const SectionARoutes: RouterConfig = [
{ path: 'a', component: SectionAComponent, canActivate: [AuthGuard] },
{ path: 'a-more', component: SectionAMoreComponent, canActivate: [AuthGuard] },
...SectionAMoreRoutes
];
但它无法加载嵌套的SectionAMoreRoutes。当我说无法加载时我的意思是我得到的错误是:
zone.js:463 Error: Uncaught (in promise): Error: Error: XHR error (404 Not Found)
loading http://localhost:4200/app/+a/+a-more/a-more.routes.ts.js(…)
当路由嵌套时,我的打字稿似乎没有被编译成js。我会喜欢任何关于如何继续的帮助或想法,因为我很丢失:(
感谢!!!
额外信息: 我的主要内容有:
bootstrap(AppComponent, [
...
APP_ROUTER_PROVIDERS,
]
Section-a-more路线如下:
export const SectionARoutes: RouterConfig = [
{ path: '', component: SectionAMoreListComponent, canActivate: [AuthGuard] },
{ path: '/:id', component: SectionAMoreDetailComponent, canActivate: [AuthGuard] }
];
TLDR:为什么我的嵌套路由不会在Angular 2和Router 3.0.0中编译
答案 0 :(得分:0)
我疯了2天试图解决这个问题。
尝试删除app.routes.js文件(不是TS文件)
然后在命令行输入
tsc app / app.routes.ts
(或路由文件的位置)。
这应该重新编译并创建一个新的app.route.js文件。