从另一个模块注入nestjs服务

我有一个PlayersModule和一个ItemsModule

我想用ItemsServicePlayersService

当我通过注射添加时:

import { Injectable } from '@nestjs/common';

import { InjectModel } from 'nestjs-typegoose';

import { ModelType, Ref } from 'typegoose';

import { Player } from './player.model';

import { Item } from '../items/item.model';

import { ItemsService } from '../items/items.service';

@Injectable()

export class PlayersService {

constructor(

@InjectModel(Player) private readonly playerModel: ModelType<Player>,

private readonly itemsService: ItemsService){}

我得到这个嵌套错误:

[嵌套] 11592-2018-8-13 11:42:17 [ExceptionHandler]

Nest无法解析PlayersService(+,?)的依赖项。请确保索引[1]的参数在当前上下文中可用。

这两个模块均导入app.module.ts。两种服务都在其模块中单独工作。

回答:

你要 的ItemsService是它提供的模块:

@Module({

controllers: [ItemsController],

providers: [ItemsService],

exports: [ItemsService]

^^^^^^^^^^^^^^^^^^^^^^^

})

export class ItemsModule {}

然后将导出 导入使用该服务的模块中:

@Module({

controllers: [PlayersController],

providers: [PlayersService],

imports: [ItemsModule]

^^^^^^^^^^^^^^^^^^^^^^

})

export class PlayersModule {}

Do️不要将同一提供程序添加到多个模块中。导出提供程序,导入模块。⚠️

以上是 从另一个模块注入nestjs服务 的全部内容, 来源链接: utcz.com/qa/428652.html

回到顶部