2016-12-27 3 views
4

対財産ブートストラップ私は(なし以前のバージョンの経験で)Angular2に完全​​に新たなんだ - 誰かが方法としてbootstrapNgModuleのプロパティとしてbootstrapの違いを説明するほど親切でしょうか?誰かができればAngular2 - 方法

let phoenixChannelsProvider = provide(PhoenixChannels, { useFactory:() => { 
    return new PhoenixChannels("ws://localhost:4000/socket"); 
} });  
bootstrap(AppComponent, [phoenixChannelsProvider]); 

:他の例では

@NgModule({ 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    AppRoutingModule 
    ], 
    declarations: [ 
    AppComponent, 
    DashboardComponent, 
    HeroDetailComponent, 
    HeroesComponent 
    ], 
    providers: [ HeroService ], 
    bootstrap: [ AppComponent ] 
}) 

、私はのようなものを見てきました:たとえば、英雄チュートリアル、app.module.tsには次のものが含まのAngular2 ツアーに

ここでの「ブートストラップ」という概念の適用の違いを曖昧に説明しても、それは非常に感謝しています。

答えて

4

あなたはそれらの両方が必要です。これは私が「このモジュールでは、ルート・コンポーネントと言っている

bootstrap: [ AppComponent ] 

モジュールで最初のものでは、

をし、基本的には自分のルートモジュールであります私のアプリを起動するつもりですAppComponentですし、そこからそれを取る。

このモジュールはブートストラップであると言っていますが、これは配列に気づいた場合、ルートモジュールの一部として複数のアプリケーションをブートストラップする可能性があります。

しかし、このような角度の表情の最新バージョンでは2つ目:

platformBrowserDynamic().bootstrapModule(AppModule) 

実際angular2アプリを起動/ブートストラップです。

Angular2フレームワークでは開始点が必要ですか?これはあなたのアプリとすべてを理解する出発点です。

あなたがJavaのバックグラウンドから来た場合、これはあなたのメインの機能です。

つまり、アプリケーションは1か所から開始する必要があります。開始点です(実際はそれ以上です)。

あなたが気付いた場合は、この方法platformBrowserDynamicが、それはブラウザのためのプラットフォーム話して、何とか自明です、これは(あなたのappComponentをブートストラップする)独自のプラットフォームを作成し、アプリのルートモジュールをブートストラップできることを意味します。

さらに検索すると、NativeScriptやAngular2Universalなどで認識されますが、主な違いはブートストラップ機能(platformBrowserDynamic)です。

例えば、ユニバーサルでは、我々が持っている:、よしもそれは知って本当に便利です

bootstrapWorkerApp(AppModule, []); 
+0

"実際にはangle2アプリ全体をブートストラップしています。"ラインは少し広いです。たぶん、そのモジュールとその依存関係のみをブートストラップしますか?遅延ロードされたモジュールやものがあるかもしれないので:/ +1 tho – echonax

3
bootstrap(AppComponent, [phoenixChannelsProvider]); 

は古いAngular2バージョン< = RC.5からのものであり、もはや有効

ところで:Angular2のダーツのバージョンはNgModuleがありませんし、まだbootstrap(...)方法を使用しています。

+0

感謝:

platformUniversalDynamic().bootstrapModule(AppModule) 

それとも、ウェブワーカーを使用したい場合、あなたはわかりますが君は。 – skwidbreth

関連する問題