在@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 由框架实例化。

希望以上内容能帮助您理解。