NestJS无法解析服务依赖关系

问题描述 投票:0回答:1

我正试图注入一个 ContentsService 变成 SlackModule 这样我就可以在Slack控制器中使用一些内容功能。

这是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控制器

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

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

但是当我运行这段代码时,我得到了这个错误。

[Nest] 75628 - 05222020, 7:08 AM [ExceptionHandler] Nest can't resolve dependencies of the ContentsService (?). 请确保索引[0]处的参数在ContentsService上下文中是可用的。+44ms

我到底做错了什么?

node.js dependency-injection nest nestjs
1个回答
0
投票

服务和其他提供者不属于 imports 数组。只有模块类应该放在那里。你应该有 imports: [ContentsModule] 在你 SlackModule 而你将有机会接触到 ContentsService

© www.soinside.com 2019 - 2024. All rights reserved.