为什么angular docs中缺少核心模块?
我将要设计angular应用程序的体系结构,因此我正在阅读管理模块的最佳实践,每个帖子和线程中都有一个所谓的核心模块,但最新angular文档中缺少它,我不知道为什么。创建一个模块仍然合理,还是失去了它的用途?我将向您解释一下所有模块。每个模块都有特定的用途(核心、共享等) 您的问题是关于为什么angular docs中缺少核心模块?,angular,Angular,我将要设计angular应用程序的体系结构,因此我正在阅读管理模块的最佳实践,每个帖子和线程中都有一个所谓的核心模块,但最新angular文档中缺少它,我不知道为什么。创建一个模块仍然合理,还是失去了它的用途?我将向您解释一下所有模块。每个模块都有特定的用途(核心、共享等) 您的问题是关于核心模块的,但我将介绍所有与体系结构相关的内容 因此,假设一个应用程序具有以下模块: 应用程序模块 核心模块 共享模块 用户模块(这称为功能模块) 管理模块(这称为功能模块) 让我们描述一下: 应用程序模块 在
核心模块的
,但我将介绍所有与体系结构相关的内容
因此,假设一个应用程序具有以下模块:
应用程序模块
核心模块
共享模块
用户模块(这称为功能模块)
管理模块(这称为功能模块)
让我们描述一下:
应用程序模块
在此模块中,您必须导入将在整个系统中使用的模块/包。例如:CommonModule、FormsModule、HttpClientModule
等。您不需要导出这些模块,因为一旦导入到App Module中,这些模块将在整个应用程序中可用
核心模块
在本模块中,您必须制作将在系统的几乎每个页面中使用的组件。例如:HeaderComponent、footerComponent、AuthGaurds等。这些组件应该导出,以便在其他模块中可用
共享模块
在本模块中,您必须创建将在多个组件中使用的服务、组件、管道和指令。例如:AlertDialogBox、APIService、
等
用户模块
这是一个特色模块。它将具有特定于用户模块的组件。您可以在此处导入共享模块
,以便使用警报对话框和所有
管理模块
这是一个特色模块。它将具有特定于用户模块的组件。您可以在此处导入共享模块
,以便使用警报对话框和所有
CoreModule样式指南自Angular 7以来已被删除,它已被@Injectable
装饰器中的providedIn
属性所取代。我认为这一变化的主要目的是为角度模块带来更大的灵活性,使它们更独立
但是,我认为,如果您希望在整个应用程序中包含全局第三方库(如flex布局或材质模块等),则此模式仍然可用
PS:我写了一篇关于CoreModule/SharedModule的文章:
PS2:您仍然在版本6中记录了此样式指南:您觉得答案有用吗?