首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么这个auth模块在一个文件中有两个模块?

为什么这个auth模块在一个文件中有两个模块?
EN

Stack Overflow用户
提问于 2018-03-14 17:40:45
回答 2查看 51关注 0票数 0

我正在审查如何在GH上的示例应用程序中实现ngrx。谁能解释一下为什么在下面的链接中有两个模块在一个文件中?开发人员有什么理由用两个模块代替一个模块?

Github link - auth module in ngrx library example app

编辑-同样的功能可以用一个模块本身来实现。为什么要创建两个模块?这里的功能划分是什么?

编辑-2-我找到了两个模块用于身份验证的原因。开发者需要导出auth service和auth Guard等服务,供app模块和其他模块使用。为此,他创建了AuthModule,其中包含用于导出服务的forRoot静态方法。

另一个RootAuthModule具有用于html表单的组件,用于获取用户输入并分派用于身份验证的操作。此模块是延迟加载的,不需要导出任何组件或任何服务以供其他模块使用。

EN

回答 2

Stack Overflow用户

发布于 2018-03-14 17:46:47

您可以根据需要组织文件,但请记住,不建议将两个模块放在一个文件中:https://angular.io/guide/styleguide#rule-of-one

票数 3
EN

Stack Overflow用户

发布于 2018-03-14 17:44:51

相同的文件

这两个模块都很小,开发人员认为没有必要将其拆分为两个单独的文件。它们彼此非常相似,因此将它们放在同一个文件中是有意义的。我不认为有什么特别的原因,因为它根本不会改变大局。如果开发人员觉得它们在某一点上变得太大,可以稍后将它们分开。

两个模块

至于为什么有两个模块:一个在根级别使用,另一个在子级使用。这种区别最常见的例子是将.forRoot.forChildren与来自@angular/router包的官方RouterModule一起使用。在这里,NGRX团队决定使用一个带有forRoot方法的模块和另一个用于孩子的模块(因为它不需要任何参数),而不是两个静态方法。

你可以阅读更多关于the difference between forRoot and forChild here的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49284418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文