好吧,我正在按照以下基础架构构建我的项目:
- 功能模块。
- 核心模块。
- 共享模块。
但是有一点我还不够清楚。
据我所知,HttpClientModule应该是CoreModule因为...它提供了HttpClient向服务器发出 HTTP 请求的服务。
现在,imports数组允许 Angular 模块使用其他模块提供的功能,并且exports数组允许 Angular 模块公开它的一些功能。
我有这个CoreModule:
@NgModule({
imports: [
BrowserAnimationsModule,
HttpClientModule,
RouterModule.forRoot(routes, {
enableTracing: true
})
],
exports: [
RouterModule
]
})
export class CoreModule {
}
现在,既然 myCoreModule是在 my 中导入的,那么andAppModule不应该也被导出吗?就像.HttpClientModuleBrowserAnimationsModuleRouterModule
我看到CoreModuleandSharedModule喜欢某种桥梁。
对SharedModule我来说更有意义:
@NgModule({
imports: [
MatButtonModule
],
exports: [
MatButtonModule
]
})
export class SharedModule {
}
SharedModule导入然后MatButtonModule导出它,以便其他模块可以使用它。
不应该CoreModule是一样的吗?因为App运行良好;但是,我处于开发模式。
希望我足够清楚,有人可以帮助我消除这个疑问。