Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用nestjs将服务注入另一个服务时出现问题_Javascript_Node.js_Nestjs - Fatal编程技术网

Javascript 尝试使用nestjs将服务注入另一个服务时出现问题

Javascript 尝试使用nestjs将服务注入另一个服务时出现问题,javascript,node.js,nestjs,Javascript,Node.js,Nestjs,我面临一个问题。 我有一个示例存储库: 我想将RaceService注入HeroService,因为我想使用一些方法,比如getById 我遵循此处描述的文档: 当我执行下一步操作时,问题会出现: 在RaceModule中,我添加了RaceService作为导出: @Module({ imports: [TypeOrmModule.forFeature([RaceEntity])], controllers: [RaceController], providers: [RaceSer

我面临一个问题。 我有一个示例存储库:

我想将
RaceService
注入
HeroService
,因为我想使用一些方法,比如
getById

我遵循此处描述的文档:

当我执行下一步操作时,问题会出现:

RaceModule
中,我添加了
RaceService
作为导出:

@Module({
  imports: [TypeOrmModule.forFeature([RaceEntity])],
  controllers: [RaceController],
  providers: [RaceService],
  exports: [RaceService],
})
HeroModule
I导入
RaceModule

@Module({
  imports: [RaceModule, TypeOrmModule.forFeature([HeroEntity])],
  controllers: [HeroController],
  providers: [HeroService],
})
HeroService
中,我为
RaceService
添加了注入:

constructor(
    @InjectRepository(HeroEntity)
    private heroRepository: Repository<HeroEntity>,
    private readonly raceService: RaceService,
  ) {
  }
我尝试了不同的方法导入服务,包括创建新的CommonModule,还将forwardRef放入raceService定义中,但出现了另一个错误:

Nest can't resolve dependencies of the HeroService (HeroEntityRepository, ?). Please make sure that the argument at index [1] is available in the HeroModule context.

谢谢你的帮助

在一些帮助下,我意识到我的问题出现了,因为我在modules文件夹中创建了一个文件
index.ts
(想法是立即导出模块名称),如下所示:

export { RaceModule } from './race.module';
... others
import { RaceModule } from 'modules';
因此,当我尝试在
HeroModule
导入
RaceModule
时,如下所示:

export { RaceModule } from './race.module';
... others
import { RaceModule } from 'modules';
我的问题出现了

我不知道为什么,但直接从
index.ts
文件引用模块导入,而不是:

import { RaceModule } from 'modules/race.module';
是我的代码的问题

因此,根据一些建议,我创建了一些文件夹并移动了一些文件,我的项目开始正常工作


感谢您的帮助,希望有人能对此有所帮助。

您需要在英雄模块中导入种族模块的模块

我对您的GitHub repo提出了一个拉取请求,希望您能发现它有帮助。@Juan欢迎使用!当你的问题似乎得到解决时,考虑把它作为你自己问题的答案。其他人可能会从您的解决方案中获益,也可以看到您的问题已经解决了。:-)