NestJS无法解决服务依赖关系

时间:2020-05-22 10:10:51

标签: node.js dependency-injection nestjs

我试图将ContentsService注入到SlackModule中,以便可以在Slack Controller中使用某些Content函数。

这是app.module

@Module({
  imports: [
    ContentsModule,
    ZapierModule,
    SlackModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

这是我的内容模块:

import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';

import { ContentsController, ZapierController, SlackInteractiveController } from './contents.controller';
import { ContentsService } from './contents.service';
import { ContentSchema } from './content.model';

@Module({
  imports: [
    MongooseModule.forFeature([{ name: 'Content', schema: ContentSchema }]),
  ],
  controllers: [ContentsController, ZapierController, SlackInteractiveController],
  providers: [ContentsService],
  exports: [ContentsService],
})
export class ContentsModule {}

这是我的Slack模块:

import { Module } from '@nestjs/common';
import { SlackService } from './slack.service';
import { SlackController } from './slack.controller';
import { ContentsService } from '../contents/contents.service';

@Module({
  providers: [SlackService],
  controllers: [SlackController],
  imports: [ContentsService],
}) 
export class SlackModule {}

还有我的Slack Controller

import { ContentsService } from '../contents/contents.service'

@Controller('slackevents')
export class SlackController {  
  constructor(private contentsService: ContentsService) {}

但是当我运行此代码时,出现此错误:

[嵌套] 75628-2020年5月22日,上午7:08 [ExceptionHandler] Nest无法解析ContentsService的依赖项(?)。请确保在ContentsService上下文中索引[0]处的参数可用。 + 44ms \

我做错了什么?

1 个答案:

答案 0 :(得分:0)

服务和其他提供程序不属于imports数组。只有模块类应该进入那里。您应该在imports: [ContentsModule]中包含SlackModule,并且可以访问ContentsService