Angular 为什么NgRx示例应用中的身份验证模块中定义了两个模块?
Angular的NgRx库在其源代码存储库中提供了一个示例应用程序,说明了NgRx的使用。在此应用程序中,有一个用于身份验证的模块。在这两个模块中定义了一个名为Angular 为什么NgRx示例应用中的身份验证模块中定义了两个模块?,angular,ngrx,Angular,Ngrx,Angular的NgRx库在其源代码存储库中提供了一个示例应用程序,说明了NgRx的使用。在此应用程序中,有一个用于身份验证的模块。在这两个模块中定义了一个名为AuthModule,另一个名为RootAuthModule 关于这一点,我有几个问题: 为什么身份验证功能模块中有两个模块?为什么不一个呢 每个都有什么用途 当使用NgRx在Angular中创建新的功能模块时,何时会选择双模块设计而不是单模块设计 谢谢大家! 我想它的组织方式是将应用程序启动时需要的内容(forRoot)和可以在整个应用
AuthModule
,另一个名为RootAuthModule
关于这一点,我有几个问题:
谢谢大家! 我想它的组织方式是将应用程序启动时需要的内容(
forRoot
)和可以在整个应用程序中重新导入的内容分开
第一个模块(AuthModule
)是当app.module
使用它时,实际导入并调用forRoot
的模块。第二个模块RootAuthModule
定义了在应用程序中只应发生一次的所有导入
这实际上取决于您如何组织事情,如果没有需要导出的组件,开发人员可能只定义了一个模块。由于存在需要连接的服务和组件,他们选择将所有基于根的内容分组到一个中,将所有非基于根的内容分组到另一个中 整个模式一天比一天复杂得多。我完全同意。如果Angular提供了一个ngModuleRoot装饰器,当您尝试导入外部应用程序启动时,它会自动抛出,这将是一件好事。我觉得这会随着时间的推移而有所改进。部分问题是,如果不查看源代码,您就无法看到
ngModule
提供/声明/导出的内容,即使您手头有它,您也必须浏览多个级别。他们应该使用一堆重载函数声明,这些声明使用TypeScript的元组类型来推断这些东西的元素类型,最多20个。@AluanHaddad你是什么意思?你能提供一个要点吗?是的,我会写一个