【发布时间】:2021-01-24 15:31:01
【问题描述】:
在我的 Angular 应用程序中,我按照this 的方法构建我的架构并将shared.module.ts 文件添加到共享文件夹中。我也在我的应用程序中使用了 lazy-loading,但在这一步我对应该添加到每个模块的导入、声明和导出感到非常困惑。那么,通过查看this 页面上的文件夹结构(我还将shared.module.ts 文件添加到共享文件夹中)并考虑延迟加载,我的模块的导入、声明和导出等应该是什么?我也遵循这种方法,如下所示:
App 模块: 在这个模块中,我们必须导入我们将在整个系统中使用的模块/包。比如:CommonModule、FormsModule、HttpClientModule 等。我们不需要导出这些模块
核心模块: 在这个模块中,我们必须制作将在系统的几乎每个页面中使用的组件。比如:HeaderComponent、FooterCompoennt、AuthGaurds 等。这些组件应该被导出,以便在其他模块中可用。
共享模块: 在这个模块中,我们必须制作服务、组件、管道和指令,它们将在多个组件中使用。如:AlertDialogBox、HTTPService 等。
用户模块(假设功能模块):这是一个特色模块。它将具有特定于用户模块的组件。在这里我们可以导入共享模块,以便我们可以使用 AlertDialogBox 和所有。
另一方面,我认为我应该为每个导航的模块添加一个xxx-routing.module.ts 文件。真的吗?我是否还必须添加共享模块?
【问题讨论】:
-
您需要为每个模块创建一个索引,您将能够从另一个模块中的另一个模块访问文件。我认为你不需要添加路由,因为我在不同的项目中工作,并且路由模块只声明过一次。
-
谢谢,但我使用 laz-loading。所以,也许不需要在共享模块中使用路由,但对于其他我需要的。另一方面,我找到了another 示例,但我不明白为什么它使用
routing.module.ts文件。因为在使用延迟加载时,我们只是在功能模块中使用这个文件,而不是根模块。我错了吗?因为您的示例中没有使用它。有什么想法吗?
标签: javascript angular typescript angular-routing angular-module