除了在Angular中使用Feature模块之外,还使用Shared和Core模块?

问题描述

在我的Angular应用中,我遵循this方法来构建我的体系结构,并将shared.module.ts文件添加到共享文件夹中。我还在我的应用程序中使用了 lazy-loading ,但是在这一步中,对于应该添加到每个模块的导入,声明和导出,我感到非常困惑。因此,通过查看this页面上的文件夹结构(我还将shared.module.ts文件添加到共享文件夹)并考虑延迟加载,模块的导入,声明和导出等应如何处理?我也遵循以下这种方法

应用程序模块: 在此模块中,我们必须导入将在整个系统中使用的模块/软件包。像:CommonModule,FormsModule,HttpClientModule等。我们不需要导出这些模块,因为它将是

核心模块: 在此模块中,我们必须制作将在系统几乎所有页面中使用的组件。像:HeaderComponent,FooterCompoennt,AuthGaurds等。这些组件应该导出,以便可以在其他模块中使用。

共享模块: 在此模块中,我们必须制作将在多个组件中使用的服务,组件,管道和指令。像:AlertDialogBox,HTTPService等。

用户模块(假设功能模块): 这是一个功能模块。它将具有特定于用户模块的组件。在这里,我们可以导入共享模块,以便可以使用AlertDialogBox以及所有。

另一方面,我认为我应该为每个导航模块添加一个xxx-routing.module.ts文件。真的吗?我还必须为共享模块添加内容吗?

解决方法

我会说共享模块和核心模块可能不需要route.module.ts。但这一切都取决于您的要求。

此github存储库已实施了bes惯例,您可能需要看一下才能理解。 https://github.com/DanWahlin/angular-architecture/tree/master/demos/src/app[enter链接描述在这里] 1