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){}
次のエラーが発生します:
[Nest] 11592 - 2018-8-13 11:42:17 [ExceptionHandler] NestはPlayersService (+、?)の依存関係を解決できません。インデックス[1]の引数が現在のコンテキストで使用可能であることを確認してください。
両方のモジュールは にインポートされますapp.module.ts
。両方のサービスはモジュール内で単独で動作します。
ベストアンサー1
あなたがしなければならない輸出ItemsService
それを提供するモジュール内:
@Module({
controllers: [ItemsController],
providers: [ItemsService],
exports: [ItemsService]
^^^^^^^^^^^^^^^^^^^^^^^
})
export class ItemsModule {}
そしてエクスポートしたものをインポートするモジュールサービスを使用するモジュール内:
@Module({
controllers: [PlayersController],
providers: [PlayersService],
imports: [ItemsModule]
^^^^^^^^^^^^^^^^^^^^^^
})
export class PlayersModule {}
⚠️ 同じプロバイダーを複数のモジュールに追加しないでください。プロバイダーをエクスポートし、モジュールをインポートします。⚠️