【发布时间】:2021-04-19 21:48:40
【问题描述】:
我知道这个问题已经被问过很多次了,但是除了删除模块并提前加载所有内容之外,我还没有找到任何解决该问题的方法。
一年多前启动了一个非常复杂的 Angular 应用程序后,我很早就决定采用 Angular 的首选方式并使用功能模块。这就是我将应用程序分解为功能模块的地方,其中每个功能将处理该功能的应用程序的特定区域并利用延迟加载。假设功能 a 为应用程序中的特定域构建了搜索和所有的 crud 功能。然后是功能 B,其设计方式相同。现在我遇到了功能之间的循环依赖关系,即功能 A 需要使用功能 B 中的组件,而功能 B 需要使用功能 A 中的组件。
这会在使用 ivy 编译器进行编译时导致循环依赖。我可以通过将 AOT 设置为 false 来编译它,但这似乎不是一个可行的答案。没有放弃模块,我看不到太多答案。
我尝试了一个通用模块,它导出所有模块,但与通用导入模块 A 和模块 B 的问题相同,然后模块 A 导入通用模块。有人对如何解决这个问题有建议吗?
提前感谢保罗
【问题讨论】:
标签: angular angular2-aot angular-ivy