0

Angular 2 の新しい Router 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(…)

ルートがネストされている場合、typescript が js にコンパイルされていないようです。私はかなり迷っているので、どのように進めるかについての助けやアイデアが大好きです:(

ありがとう!!!

追加情報: 私の main.ts には次のものがあります。

bootstrap(AppComponent, [
  ...
  APP_ROUTER_PROVIDERS,
]

セクション・ア・モアのルートは次のようになります。

export const SectionARoutes: RouterConfig = [
  { path: '', component: SectionAMoreListComponent, canActivate: [AuthGuard] },
  { path: '/:id', component: SectionAMoreDetailComponent, canActivate: [AuthGuard] }
];

TLDR: ネストされたルートが Angular 2 および Router 3.0.0 でコンパイルされないのはなぜですか?

4

1 に答える 1

0

私はこれを理解しようとして2日間夢中になりました。

app.routes.js ファイルを削除してみてください (TS ファイルではありません)。

次に、コマンドラインで次のように入力します

tsc app/app.routes.ts

(または、ファイルをルーティングする場所)。

これにより、再コンパイルされ、新しい app.route.js ファイルが作成されます。

于 2016-07-07T11:04:51.470 に答える