Nest 无法解析供应商服务的依赖关系 (?)。请验证 [0] 参数在当前上下文中是否可用



我也是嵌套js和打字稿的新手。提前谢谢。

我不断收到此错误。

Nest 无法解析供应商服务的依赖关系 (?(。请验证 [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 sould 在其providers中声明您的提供者(usersProviders(,否则 Nestjs 将永远无法将其注入到您的服务中。

除非你想用 UsersModule 声明它(我猜你这样做了(;在这种情况下,UsersModule 也需要它exports以便它对导入 UsersModule 的其他模块可见。

要么是VendorsModule:用户提供者在providers

UsersModule:用户providersexports中的提供者

最新更新