Nestjs 如何使用存储库导出创建服务?
我使用几个存储库创建了服务:Nestjs 如何使用存储库导出创建服务?,nestjs,typeorm,Nestjs,Typeorm,我使用几个存储库创建了服务: @Injectable() export class DataService { constructor( @InjectRepository(ClassicPrices, 'connect') private classicPrices: Repository<ClassicPrices>, @InjectRepository(ModernPrices, 'connect') p
@Injectable()
export class DataService {
constructor(
@InjectRepository(ClassicPrices, 'connect')
private classicPrices: Repository<ClassicPrices>,
@InjectRepository(ModernPrices, 'connect')
private modernPrices: Repository<ModernPrices>,
) {}
public pricesRepository(server): Repository<ModernPrices | ClassicPrices> {
switch (server) {
case 'modern':
return this.modernPrices;
case 'classic':
return this.classicPrices;
}
}
}
当我在其他模块中使用它时,^I have error“Nest无法解析数据服务的依赖项(connect\u ClassicPrices)。请确保索引[2]处的参数connect\u ClassicPrices在DataModule上下文中可用
可能的解决办法:
- 如果connect_ClassicPrices是一个提供程序,它是当前数据模块的一部分吗
- 如果connect_ClassicPrices是从单独的@模块导出的,则该模块是否在DataModule中导入
如何导出存储库?如果要在其他模块中使用来自
DataModule
的存储库,需要将TypeOrmModule
添加到DataModule
中的导出数组中:
exports: [DataService, TypeOrmModule]
然后,任何导入
DataModule
的模块都可以使用在TypeOrmModule.forFeature
中注册的存储库。通常,最好只导出服务,并将存储库的范围限制在其模块中,因为这会使您的应用程序更加模块化。您是否在其他模块中导入DataModule
是的,我把它添加到模块中
@Module({
imports: [ /* the Module containing connect_ClassicPrices */ ]
})
exports: [DataService, TypeOrmModule]