Nestjs-如何从其他服务获取可注入范围类型

时间:2020-03-08 16:44:15

标签: typescript oop dependency-injection nestjs

假设我创建了一个全球帐户服务。全局帐户服务具有一个注册方法,该方法具有AccountBaseService类的参数。您如何检查该服务注入作用域类型以确保它是全局作用域服务?

1 个答案:

答案 0 :(得分:-1)

全局模块# 如果您必须在各处导入同一组模块,则可能会很乏味。与Nest不同,Angularproviders在全局范围内注册。定义后,它们随处可见。但是,Nest将提供程序封装在模块范围内。如果不先导入封装模块,就无法在其他地方使用模块的提供程序。

当您要提供一组提供程序,这些提供程序应在开箱即用的所有位置(例如,助手,数据库连接等)可用时,请使用@Global()装饰器将模块设置为全局。

import { Module, Global } from '@nestjs/common';
import { CatsController } from './cats.controller';
import { CatsService } from './cats.service';

@Global()
@Module({
  controllers: [CatsController],
  providers: [CatsService],
  exports: [CatsService],
})
export class CatsModule {}

有关更多信息,https://docs.nestjs.com/modules#global-modules