NestJS跨模块Service引用

560#69fea8a6

需要在公共模块(app)中使用某些独特的模块,例如调用任务模块的service中的方法主动生成公钥。

场景

需要在公共模块(app)中使用某些独特的模块,例如调用任务模块的service中的方法主动生成公钥。

方法一

如果在app.controller.ts中需要使用到taskService,则需要在app.module.ts中的providers中添加TaskService

js 复制代码
@Module({
  imports: [TaskModule],
  controllers: [AppController],
  providers: [AppService, TaskService],
})
export class AppModule {}

imports仅仅是导入该目标模块,并不能达到跨模块调用service的目的

方法二

TaskModule中导出TaskService

js 复制代码
@Module({
  imports: [
    TypeOrmModule.forFeature([HttpTask]),
  ],
  providers: [TaskService],
  controllers: [TaskController],
  exports: [TaskService],
})
export class TaskModule {}

如此就不需要在AppModule中添加TaskService

参与本文讨论

请先登录 GitHub 后留言

0/500

本文留言

0

这篇文章还没有留言,来写第一条吧。

1 / 1