Dependency injection 巢罐';t解析用户服务的依赖关系(?,+;)。请确保索引[0]处的参数在当前上下文中可用
有一些问题,di/循环引用我肯定我做错了,我就是看不到 任何帮助都将不胜感激 user.module.tsDependency 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
@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
importsAuthModule
,并且不再次提供AuthService
。这样,所有导出的提供程序都可以在UserM中使用模块
因此,从
AuthModule
的提供者列表中删除UserService
,从UserModule
中删除TokenService
,以防在使用TypeORM
将存储库添加到服务时出现上述错误,然后在模块文件中添加以下代码
imports: [
TypeOrmModule.forFeature([<your-entiry>])
],
导入:[
TypeOrmModule.forFeature([])的类型
],
当我的数组的提供程序中有两个连续的逗号时,我出现了错误
providers: [
AService,
BService,, // <- NOT ALLOWED CIRCULAR PROBLEM
],
提供者:[
服务,
b服务,,//您可以在代码中包含导入
的部分吗?为什么用户服务
是在AuthModule
中定义的?我尝试了不同的方法,这就是我最终出现不同错误的状态。