![](/img/trans.png)
[英]Nest can't resolve dependencies of the RegisterService (?).Please make sure that the argument at index [0] is available in the RegisterModule context
[英]Nest can't resolve dependencies of the VendorsService (?). Please verify whether [0] argument is available in thecurrent context
我也是嵌套js和typescript的新手。 提前致谢。
我不断收到此错误。
Nest无法解析VendorsService(?)的依赖关系。 请验证[0]参数在当前上下文中是否可用。
这是代码
应用模块
@Module({
imports: [ UsersModule, VendorsModule],
})
export class ApplicationModule {}
控制者
@Controller()
export class VendorsController {
constructor(private readonly vendorService: VendorsService){}
@Post()
async create(@Body() createVendorDTO: CreateVendorDTO){
this.vendorService.create(createVendorDTO);
}
@Get()
async findAll(): Promise<Vendor[]>{
return this.vendorService.findAll();
}
}
服务
@Injectable()
export class VendorsService {
constructor(@Inject('VendorModelToken') private readonly vendorModel: Model<Vendor>) {}
async create(createVendorDTO: CreateVendorDTO): Promise<Vendor>{
const createdVendor = new this.vendorModel(createVendorDTO);
return await createdVendor.save();
}
async findAll(): Promise<Vendor[]>{
return await this.vendorModel.find().exec();
}
}
提供者
export const usersProviders = [
{
provide: 'VendorModelToken',
useFactory: (connection: Connection) => connection.model('Vendor', VendorSchema),
inject: ['DbConnectionToken'],
},
];
模组
@Module({
providers: [VendorsService],
controllers: [VendorsController],
})
export class VendorsModule {}
VendorsModule会在其providers
声明您的提供者(usersProviders),否则Nestjs将永远无法将其注入到您的服务中。
除非您想使用UsersModule声明它(我想您已经声明过); 在这种情况下,UsersModule在其exports
也需要它,因此其他导入UsersModule的模块可以看到它。
这是不是VendorsModule
:usersProviders的providers
,
或 UsersModule
: providers
和exports
usersProviders
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.