从另一个模块注入nestjs服务
我有一个PlayersModule
和一个ItemsModule
。
我想用ItemsService
的PlayersService
。
当我通过注射添加时:
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