深入了解angular的模块化系统NgModule

Angular应用采用模块化设计,通过NgModule组织代码。每个应用至少有一个根模块AppModule,还可包含多个特性模块。NgModule通过元数据管理组件、指令和服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Angular应用就是模块化的,它的模块化系统NgModule相当于一个容器。NgModule通过它的元数据收集一些组件,指令,module、管道和一些其他的代码形成一个领域,并未这个领域提供一个编译上下文环境。

每个 Angular 应用都至少有一个 NgModule 类,也就是根模块,它习惯上命名为 AppModule,并位于一个名叫 app.module.ts 的文件中。引导这个根模块就可以启动你的应用。

大多数应用有很多特性模块,(即有多个NgModule),比如一些需求模块的组件会有自己的NgModule,也就是独立一个领域的编译上下文。

@NgModule的元数据:

import:当前模块导入的其他模块,import应该导入的是module,而不是compnents或者services
declarations:当前模块内包含的公共组件、指令信息、管道。declarations生命的是components,而不是module或者services
providers:当前模块可以使用的公共服务(可以为本模块内提供的服务,也可以是其他npm包中导入的服务)。provider提供的应该是services,而不是compnents或者modules。
exports:暴露出一些组件或者对象的子集供其他模块使用
entryComponents: 定义NgModule中要编译的组件集,这样他们才可以动态加载到视图中。
在这里插入图片描述

Bootstrap:应用的主视图,称为根组件。它是应用中所有其它视图的宿主。只有根模块才应该设置这个 bootstrap 属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值