Dependency injection 巢罐';t解析用户服务的依赖关系(?,+;)。请确保索引[0]处的参数在当前上下文中可用

Dependency injection 巢罐';t解析用户服务的依赖关系(?,+;)。请确保索引[0]处的参数在当前上下文中可用,dependency-injection,inversion-of-control,circular-dependency,nestjs,Dependency Injection,Inversion Of Control,Circular Dependency,Nestjs,有一些问题,di/循环引用我肯定我做错了,我就是看不到 任何帮助都将不胜感激 user.module.ts @Module({ imports: [ TypeOrmModule.forFeature([User]), forwardRef(() => AuthModule) ], providers: [ UserService, TokenService ], exports: [ UserService ] }) expo

有一些问题,di/循环引用我肯定我做错了,我就是看不到

任何帮助都将不胜感激

user.module.ts

@Module({
    imports: [
        TypeOrmModule.forFeature([User]),
        forwardRef(() => AuthModule)
    ],
    providers: [ UserService, TokenService ],
    exports: [ UserService ]
})
export class UserModule {}
@Module({
    imports: [ forwardRef(() => UserModule) ],
    controllers: [ AuthController ],
    providers: [
        AuthService,
        UserService,
        TokenService
    ],
    exports: [ AuthService, TokenService ]
})
export class AuthModule {}
@Module({
  imports: [
    TypeOrmModule.forRoot(),
    forwardRef(() => UserModule),
    forwardRef(() => AuthModule),
  ],
})
export class AppModule {}
auth.module.ts

@Module({
    imports: [
        TypeOrmModule.forFeature([User]),
        forwardRef(() => AuthModule)
    ],
    providers: [ UserService, TokenService ],
    exports: [ UserService ]
})
export class UserModule {}
@Module({
    imports: [ forwardRef(() => UserModule) ],
    controllers: [ AuthController ],
    providers: [
        AuthService,
        UserService,
        TokenService
    ],
    exports: [ AuthService, TokenService ]
})
export class AuthModule {}
@Module({
  imports: [
    TypeOrmModule.forRoot(),
    forwardRef(() => UserModule),
    forwardRef(() => AuthModule),
  ],
})
export class AppModule {}
app.module.ts

@Module({
    imports: [
        TypeOrmModule.forFeature([User]),
        forwardRef(() => AuthModule)
    ],
    providers: [ UserService, TokenService ],
    exports: [ UserService ]
})
export class UserModule {}
@Module({
    imports: [ forwardRef(() => UserModule) ],
    controllers: [ AuthController ],
    providers: [
        AuthService,
        UserService,
        TokenService
    ],
    exports: [ AuthService, TokenService ]
})
export class AuthModule {}
@Module({
  imports: [
    TypeOrmModule.forRoot(),
    forwardRef(() => UserModule),
    forwardRef(() => AuthModule),
  ],
})
export class AppModule {}
我获取[ExceptionHandler]无法读取未定义的属性“module”

最初有“Nest无法解析UserService的依赖项。然后我完全删除了UserModule,只使用了AuthModule,一切正常,然后决定今天添加UserModule,并将代码从AuthModule移回UserModule,然后发现forwardRef(()=>)现在我得到了无法读取属性“model”

提前感谢

您还需要通过
forwardRef
注入
UserService
的(循环)依赖项,请参见:

此外,提供程序只能在一个模块中声明。如果要在另一个模块中使用它们,请导出这些提供程序,然后只导入模块:
UserModule
imports
AuthModule
,并且不再次提供
AuthService
。这样,所有导出的提供程序都可以在
UserM中使用模块


因此,从
AuthModule
的提供者列表中删除
UserService
,从
UserModule
中删除
TokenService
,以防在使用
TypeORM
将存储库添加到服务时出现上述错误,然后在模块文件中添加以下代码

imports: [
  TypeOrmModule.forFeature([<your-entiry>])
],
导入:[
TypeOrmModule.forFeature([])的类型
],

当我的数组的提供程序中有两个连续的逗号时,我出现了错误

  providers: [
    AService,
    BService,, // <- NOT ALLOWED CIRCULAR PROBLEM 
  ],
提供者:[
服务,

b服务,,//您可以在代码中包含
导入
的部分吗?为什么
用户服务
是在
AuthModule
中定义的?我尝试了不同的方法,这就是我最终出现不同错误的状态。