Angular的导入模块在AppModule或FeatureModule中



应该在每个特性模块中导入像HttpClientModule这样的通用模块,还是应该只在AppModule中导入一次?

我在想,如果HttpClientModule将被导入到每个特性模块中,如果AppComponent导入多个这些特性模块,它会被加载多次吗?如果HttpClientModule只会在AppModule中导入,是不是就像功能模块列表的可重用性丢失了-因为它需要导入HttpClientModule才能独立?

功能模块:

@NgModule({
declarations: [AComponent],
imports: [
CommonModule,
FormsModule,
HttpClientModule
],
exports: [
AComponent
]...

应用程序模块:

@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
CoreModule,
HttpClientModule,
FeatureModule
]...

创建共享模块,并将HttpClientModule等公共模块放入其中然后在每个特性模块中导入共享模块

你应该使用一个Angular服务,将provideIn设置为'root'。然后将该服务注入到应该使用它的每个组件中。这样,代码只会被导入到你的bundle中一次。

相关内容

  • 没有找到相关文章

最新更新