功能模块是否应该具有自己的拦截器和Http服务?

时间:2019-03-20 06:03:03

标签: angular

在功能模块中是否建议为api的http调用提供服务,并为这些http提供拦截器?还是应该将这些服务保留在核心模块中?

我的理解是,如果我们将与某个功能相关的服务保留在其模块中,那么它将有助于将更多相关的服务和组件保持在一起。但是,我经常遇到使用核心模块的情况,该模块应该具有与http相关的所有拦截器和服务。

什么是好习惯?

1 个答案:

答案 0 :(得分:1)

我认为您应该尽量使服务尽可能靠近使用它们的模块。

仅在一个功能模块中使用服务时,请将其放在该模块中。 在多个功能模块中重用服务时,请将其放在“共享”文件夹中。但是,请尝试尽可能靠近功能模块。

拦截器对于您的应用程序是全局的,将它们保存在项目的“共享”或“核心”位置。

以供参考:Angular Styleguide Shared feature module

以供参考:Angular Styleguide Core feature module