无法理解 angular 6 错误

Cannot understand angular 6 error

我正在将现有项目从 angular 5 移动到 angular 6,但我遇到了这个错误:

Uncaught Error: Provider parse errors:
Cannot instantiate cyclic dependency! ErrorHandler ("[ERROR ->]"): in NgModule 
AppModule in ./AppModule@-1:-1

不知道循环依赖怎么判断

这是AppModule

 @NgModule({
declarations: [
    AppComponent        
],
imports: [
    SharedModule,
    DialogModule,
    StoreModule.forRoot(allReducers),
    EffectsModule.forRoot([DossierEffects]),
    StoreDevtoolsModule.instrument({
        maxAge: 5
    }),
    AppRoutingModule,
    DashboardModule        
],
providers: [
    {
        provide: ErrorHandler,
        useClass: GlobalErrorHandler
    },
    MessageService,
    UserService,
    DossierService,
    FavouriteService,
    SettingsService,
    ApplicationInfoService,
    StoreService,
    PermissionsService,
    DeadlineService
],
bootstrap: [AppComponent]
 })
 export class AppModule {}

循环依赖意味着有两个服务(提供者)在它们的依赖关系中相互依赖,例如假设您有 Service1Service2

service1.ts:

@Injectable({providedIn:'root'})
export class Service1 {
    constructor(private service2: Service2){}
} 

service2.ts:

@Injectable({providedIn:'root'})
export class Service2 {
    constructor(private service1: Service1){}
} 

所以angular不能创建它们,因为它需要Service1个实例来创建Service2个实例,但同时它需要Service2个实例来创建Service1实例。

您的情况可能更复杂,但请寻找此类依赖关系