本章学习模块的划分
先来看一下模块中的“坑”
导入其它模块时,需要知道使用该模块的目的
- 如果是组件,那么需要在每一个需要的模块都进行导入
- 如果是服务,那么一般来说在根模块中导入一次即可
需要在每个需要的模块中进行导入
- CommonModule:提供绑定、ngIf和ngFor等基础指令,基本上每个模块都需要导入它。
- FormsModule / ReactiveFormsModule:表单模块需要在每个需要的模块导入
- 提供组件、指令或管道的模块
只在根模块导入一次的
- HttpClientModule / BrowserAnimationsModule / NoopAnimationsModule
- 只提供服务的模块
如何有效的组织模块
20-1.png
共享模块(SharedModule)
=两个模块需要使用同一个组件、指令、管道,那么在SharedModule导入、导出此组件、指令、管道。这样其它模块只需导入SharedModule即可
根模块
导入系统级需要的服务
模块及路由
模块由组件、指令、管道、服务等构成,每个模块也会对应一个路由模块(路由后期会详细讲解),同时还有一个根路由模块。这样划分的好处是:实现懒加载,提高系统渲染性能
接下来,示例一下功能模块的划分:首页、推荐、分类、聊天、个人中心、产品
创建模块的命令
ng g m [模块名] --routing
20-2.gif
这样所有的模块都创建完成,而且每个模块有自己独立的目录。