为什么Angular在app.modules.ts中导出空类?

时间:2017-06-01 20:28:44

标签: angular typescript

我是Angular的新手,我使用的是Angular 4,我使用Angular CLI通过ng new命令创建了一个应用程序。

在main.ts中,我们有

 ...
import {AppModule} from './app/app.module';
 .
 .
platformBrowserDynamic().bootstrapModule(AppModule);

和AppModule在app/app.module中定义(如您所见),这是app.module.ts中的内容:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

正如您所看到的那样export class AppModule { },它也用于platformBrowserDynamic().bootstrapModule(AppModule);

有人可以帮我解释一下吗?

1 个答案:

答案 0 :(得分:8)

班级的身体确实是空的。但是类(@NgModule)上面的装饰器正在为该类提供其功能。所以真的,那个班不是空的。在将装饰器应用于它之后,它不需要任何额外的逻辑。 bootstrapModule将一个类作为输入,并假设该类使用@NgModule进行修饰,其配置方式与您所拥有的类似(声明,导入,提供程序等)。