在@Global 模块提供的服务上使用@Injectable class 装饰器(在官方文档中)
Usage of @Injectable class decorator on service provided by @Global module (in official documentation)
关于 ConfigService 文档 的问题:
https://docs.nestjs.com/techniques/configuration#service
请参阅此处的 class 定义:
export class ConfigService { /* ... */ }
为什么没有 @Injectable 装饰器?有什么原因还是只是一个错误? @Injectable 装饰器是否对提供 ConfigService
的模块可能是 @Global?
有任何影响
没有@Injectable 装饰器,因为这个class 用作自定义提供程序。请参阅以下用法:
{
provide: ConfigService,
useValue: new ConfigService(`${process.env.NODE_ENV}.env`),
},
在那种情况下,您可以指定要使用的令牌和值,这里的 configService 是手动实例化的,而不是由 DI 系统实例化的。
当你使用 @Injectable 装饰器时,你告诉 nestjs 这个 class 由框架实例化。
希望以上内容能帮助您理解。
关于 ConfigService 文档 的问题: https://docs.nestjs.com/techniques/configuration#service
请参阅此处的 class 定义:
export class ConfigService { /* ... */ }
为什么没有 @Injectable 装饰器?有什么原因还是只是一个错误? @Injectable 装饰器是否对提供 ConfigService
的模块可能是 @Global?
没有@Injectable 装饰器,因为这个class 用作自定义提供程序。请参阅以下用法:
{
provide: ConfigService,
useValue: new ConfigService(`${process.env.NODE_ENV}.env`),
},
在那种情况下,您可以指定要使用的令牌和值,这里的 configService 是手动实例化的,而不是由 DI 系统实例化的。
当你使用 @Injectable 装饰器时,你告诉 nestjs 这个 class 由框架实例化。
希望以上内容能帮助您理解。