【发布时间】:2022-01-02 17:41:54
【问题描述】:
所以我有一个带有CustomConfigService 的NestJS 项目,它扩展了@nestjs/config 并覆盖了它处理环境变量的一些方法,我有一个myApp.config.ts,其中包含许多返回的导出常量配置块,像这样:
export const deviConfig = () => {
return {
secret: config.get('SECRET_KEY'),
auth: config.get('AUTH_OPTION'),
steps: config.get('STEPS_OPTIONS'),
active: config.get('ENABLE_DEVI'),
};
};
config.get 来自我的自定义类,而.get() 来自ConfigService。
这里的主要内容是:如果我要在我的main、我的app.module 以及可能在其他一些提供商上使用我的CustomConfigService,我应该使用依赖注入吗?
如果我要使用实际的 ConfigService 方法,我想我应该这样做,因为 NestJS 文档告诉我们这样做,但既然它是一个覆盖实际 ConfigService 的自定义类,我应该吗?
我目前的做法是:
main.ts: const configService = app.get(CustomConfigService);
configService.get('VAR') // 这是我的自定义方法
app.module.ts: const configService = new(CustomConfigService);
configService.get('VAR') // 也是我的自定义方法
另外...我不确定什么时候应该使用 DI,什么时候可以只使用 new(MyService),请您赐教?
【问题讨论】:
标签: javascript node.js angular typescript nestjs