@NgModule({
/* providers: 這個選項是一個數組,須要咱們列出咱們這個模塊的一些須要共用的服務,而後咱們就能夠在這個模塊的各個組件中經過依賴注入使用了. providers : Provider[] */ providers : Provider[], /* imports: 數組類型的選項,咱們的模塊須要依賴的一些其餘的模塊,這樣作的目的使咱們這個模塊,能夠直接使用別的模塊提供的一些指令,組件等等. */ imports: [ BrowserModule ], /* declarations: 數組類型的選項, 用來聲明屬於這個模塊的指令,管道等等,而後咱們就能夠在這個模塊中使用它們了. */ declarations: [ AppComponent ], /* bootstrap: 數組類型選項, 指定了這個模塊啓動的時候應該啓動的組件.固然這些組件會被自動的加入到entryComponents中去 */ bootstrap: [ AppComponent ], /* exports: 數組類型的選項,咱們這個模塊須要導出的一些組件,指令,模塊等; 若是別的模塊導入了咱們這個模塊, 那麼別的模塊就能夠直接使用咱們在這裏導出的組件,指令模塊等. */ exports : Array<Type<any>|any[]>, /* entryComponents: 數組類型的選項,指定一系列的組件,這些組件將會在這個模塊定義的時候進行編譯 // Angular會爲每個組件建立一個ComponentFactory而後把它存儲在ComponentFactoryResolver */ entryComponents : Array<Type<any>|any[]> /* schemas: 不屬於Angular的組件或者指令的元素或者屬性都須要在這裏進行聲明 */ schemas : Array<SchemaMetadata|any[]> /* id: 字符串類型的選項,模塊的隱藏ID,它能夠是一個名字或者一個路徑;用來在getModuleFactory區別模塊,若是這個屬性是undefined , 那麼這個模塊將不會被註冊 */ id : string })