2016-08-06 4 views
1

私はtypescriptを使用してAngular2で単純なルータベースのアプリケーションを作成しようとしています。マイAngular2バージョンはNPM startコマンドを使用してアプリケーションを実行している私は1つの警告(エラーではなく)を受信しながら2.0.0-rc.4で、ルータのバージョンが3.0.0-beta.1angle2でシンプルなルータを使用してプリコンパイルの配列警告を処理する方法

マイルートの設定ですfollows-

App.routes.ts

import { provideRouter, RouterConfig } from '@angular/router'; 
import { PageNotFoundComponent } from './Shared/pageNotFound.component'; 
import { Page1Component } from './Pages/Page1/page1.component'; 
import { Page2Component } from './Pages/Page2/page2.component'; 

const routes: RouterConfig = [ 

    { path: 'page1', component: Page1Component }, 
    { path: 'page2', component: Page2Component }, 
    { path: '**', component: PageNotFoundComponent } 
]; 

export const appRouterProviders = [ 
    provideRouter(routes) 
]; 

。これを参照してくださいscreen shot for warning

この警告をどのように克服できますか?

答えて

0

してみてください。

+0

ありがとう!プリコンパイル行を追加すると警告が消えますが、アプリケーションの最初のロード時には常にPageNotFoundコンポーネントが表示されます。構成が不足していますか? – Adi99

+0

デフォルトルートは '{path: ''、redirectTo: '/ page1'、pathMatch: 'full'}のように設定できます。デフォルトではpage1がロードされます。 – Sanket

+0

もう一度おねがいします!デフォルトルートは私のために働く。 – Adi99

0

これは、Angular 2ルータのマニュアルのギャップです。うまくいけばそれはすぐに追いつくだろう。一方、this answerに記載されているように、Angular 2の最新リリースではprecompileオプションが@Componentデコレータに追加されています。警告のリクエストに応じて、これをアプリコンポーネントに追加します。

@Component({ 
    selector: 'my-root-app-component', 
    template: '...', 
    precompile: [PageNotFoundComponent, PlusWhateverElseThrowsAWarning, Etc] 
}) 

角度2は常にコンポーネントをプリコンパイルしている(それはそれはとても不思議なことを可能にするものだ!)が、新しいルータとあなたがコンポーネントをプリコンパイルするかを指定することが必要です。おそらくこれは、パフォーマンスを最適化するために行われており、必要なコンポーネントだけが起動時にプリコンパイルされることを保証します。このことができます参照してくださいあなたのメインAppComponent-

precompile: [Page1Component, Page2Component .... ] 

に線の下に追加

+0

ありがとうございます!プリコンパイル行を追加すると警告が消えますが、アプリケーションの最初のロード時には常にPageNotFoundコンポーネントが表示されます。構成が不足していますか? – Adi99

関連する問題