ReferenceError:无法在初始化之前访问“FacilityModule” - 从 ng8 迁移到 ng10 之后

问题描述

我正在使用 angular 10 nativescript monorepo,并且正在从以前的 angular 8 代码库移植组件。

在新代码库中移植 FacilityModule 和延迟加载后,我收到以下错误

ReferenceError: Cannot access 'FacilityModule' before initialization 

我参考了之前的几个角度堆栈溢出问题,其中许多问题都指出了一个问题,即 FacilityModule 被手动导入到服务中,然后在提供的字段中使用,最终导致循环依赖。我已经通过搜索检查了整个代码库,并且 FacilityModule 仅作为延迟加载导入导入到我的 app-routing.module.ts 中。

我还在本地运行了 madge npm 包来检查我的项目中是否存在循环依赖,但它说不存在。

关于 ng10 中可能导致此问题的其他内容的任何想法?提前感谢您的帮助。

同样的代码以前在 ng 8 应用程序中工作过,所以认为这是 ng 10 不喜欢的东西。

解决方法

当您的应用程序中存在循环依赖项时,就会发生这种情况。某个提供者重复的地方。

请看: Angular dependency with "providedIn" in lazy loading modules