Angular 模块(NgModule)
- Angular 应用是模块化的, 它拥有自己的模块化系统, 称作 NgModule。 一个 NgModule 就是一个容器, 用于存放一些内聚的代码块, 这些代码块专注于某个应用领域、 某个工作流或一组紧密相关的功能。 它可以包含一些组件、 服务提供商或其它代码文件, 其作用域由包含它们的 NgModule 定义。 它还可以导入一些由其它模块中导出的功能, 并导出一些指定的功能供其它 NgModule 使用。
- 一个模块也是一个带有 @NgModule 装饰器的 TypeScript 类。
NgModule 元数据
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import {HttpClient, HttpClientModule} from '@angular/common/http';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpClientModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
declarations
声明模块有什么东西, 只能声明组件、 指令和管道。
imports
导入表, 声明了要让应用运转所依赖的一些模块。
providers
声明模块中提供了哪些服务, 只能声明服务。
bootstrap
声明模块的主组件是什么。 只有根模块才应该设置这个 bootstrap 属性。