我有一个接口的几种实现,它们每个都需要将自己的配置注入到构造函数中。我的问题是,是否可以以某种方式挂钩NestJS(可能是Inversify)中的依赖项注入系统,以使其不仅注入配置对象,还注入配置对象的特定子集。例如,如果config.ts
如下所示:
const config = {
http: {
host: '0.0.0.0',
port: 3000,
},
adapters: {
disk: {
path: 'C:\\path\\to\\my\\stuff',
},
dropbox: {
api_key: 'asdfghjkl;',
api_secret: 'blahblahblahblahblah'
}
},
};
我想以这样的方式注入配置:我的磁盘实现收到config.adapters.disk
,我的保管箱实现收到config.adapters.dropbox
等,而不仅仅是config
答案 0 :(得分:1)
如果我很了解您的请求,则可以将提供程序与useValue或useFactory一起使用,具体取决于要在注入之前解决的问题。 我让您看一下文档的那一部分。
例如,您可以做 {令牌:“ myToken”,useValue:config.property}
然后您只需将“ myToken”注入到构造函数中即可。
useFactory还允许您在返回值之前进行处理