一、简介
模块可以拥有并且向外部公开自己的组件、指令、管道,还可以注册服务,每个项目至少有一个根模块(app.module.ts);
二、@NgModule修饰类中参数含义
@NgModule({
//声明本模块中使用的组件、指令、管道
declarations:[],
//导入其他模块,使其组件、指令、管道都可以用于本模块中
imports: [],
//注册服务,使其在当前模块的各个组件中都可以使用
providers:[],
//用于导出此模块对外的组件、指令、管道、模块等。
exports:[],
//指定一系列的组件,这些组件将会在这个模块定义的时候进行编译 Angular会为每一个组件创建一个ComponentFactory然后把它存储在ComponentFactoryResolver
entryComponents : [],
//指定此模块启动的时候应该启动的组件.这些组件会被自动的加入到entryComponents
bootstrap : [],
//不属于Angular的组件、指令的元素、属性都需要在这里进行声明
schemas :[],
// id: 模块ID,它可以是一个名字或者一个路径;用来在getModuleFactory区别模块,若id是undefined那么这个模块将不会被注册.
id : string
})
三、通过指令创建模块(推荐使用)
//生成一个名为first的模块
ng generate module first
//生成一个名为 first的模块,并且带有一个名为first-routing.module.ts的路由文件
ng generate module first --routing
结果如图: