Angular核心模块的作用是什么?

What is the role of Angular core module?

我在 Angular 中读到一篇关于组织文件夹的文章 article,作者使用了一个名为 core 的文章,他在其中创建了核心模块并仅插入将被调用一次的服务.

目前,我正在做一个项目,因此我采用了 article 推荐的结构。在我的 core folder/module 中,我创建了一个名为 api:

的模块
\app
  \core
    \api
    ...
  \shared
  ...

我的问题是:由于 api 是一个模块,我想知道为什么不将其从 core 中删除并放入 app 文件夹中?

\app
  \api
  \core
  \shared
  ...

Angular 本身也有 core 模块(我们在其中导入 ngModuleInjectable...),我想知道它的作用是什么。

您的 CoreModule 包含将用于实例化您的应用并加载一些核心功能的代码。

要对此有更多了解,请阅读 Core Module

通常核心模块用于保持所有API服务和其他通用 您在 providers[...] 部分的应用程序中拥有的服务(如 NotificationsService、ConfirmationService、AuthorizationService 等)。然后,app.module 将在 imports 部分使用您的 core.module .

这个概念有点乱,看了很多帖子才掌握的。为了理解核心模块,我喜欢分享我与核心模块.

相关的想法

产生 CoreModule 的主要原因是让 AppModule 更瘦一些。

例如,想象一下,AppModule 中提供了一些服务,如 AnalyticService,并且这些服务应该在整个应用程序中实例化一次。为了使 AppModule 更干净,您可以生成 CoreModule 并将它们放入此模块中。