【问题标题】:Nest can't resolve dependencies of the ResolutionSeviceNest 无法解析 ResolutionService 的依赖项
【发布时间】:2021-10-07 15:17:57
【问题描述】:

我目前正在探索nestjs并遇到了这个错误:

错误:Nest 无法解析 ResolutionService (?) 的依赖项。 请确保索引 [0] 处的参数 ResolutionRepository 在 ResolutionService 上下文中可用。

可能的解决方案:

  • 如果 ResolutionRepository 是提供者,它是当前 ResolutionService 的一部分吗?
  • 如果从单独的@Module 导出ResolutionRepository,该模块是否导入到ResolutionService 中? @模块({ 导入:[ /* 包含 ResolutionRepository 的模块 */ ] })

我在这里做错了什么?

分辨率.module.ts

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ResolutionEntity } from './resolution.entity';
import { ResolutionService } from './resolution.service';
import { ResolutionRepository } from './resolution.repository';

@Module({
  imports: [TypeOrmModule.forFeature([ResolutionEntity])],
  providers: [ResolutionRepository, ResolutionService],
  exports: [ResolutionService],
})
export class ResolutionModule {}

分辨率.service.ts

import { Injectable } from '@nestjs/common';
import { ResolutionEntity } from './resolution.entity';
import { ResolutionRepository } from './resolution.repository';

@Injectable()
export class ResolutionService {
  constructor(private readonly resolutionRepository: ResolutionRepository) {}

  async getAllByName(name: string): Promise<ResolutionEntity[]> {
    return this.resolutionRepository.getAllByName(name);
  }
}

【问题讨论】:

    标签: typescript nestjs


    【解决方案1】:

    您在应用程序某处的imports 数组中有ResolutionService。提供者从不进入imports 数组,只进入providers。如果您在另一个模块中需要此提供程序,则ResolutionModule 应该在providersexports 数组中包含ResolutionService,然后这个新模块应该在imports 数组中包含ResolutionModule

    【讨论】:

      【解决方案2】:

      代替

      TypeOrmModule.forFeature([ResolutionEntity])
      

      也许你想要

      TypeOrmModule.forFeature([ResolutionEntity, ResolutionRepository])
      

      【讨论】:

        猜你喜欢
        • 2023-04-01
        • 2020-09-03
        • 1970-01-01
        • 1970-01-01
        • 2023-01-05
        • 2021-01-28
        • 2021-11-24
        • 2019-01-21
        • 1970-01-01
        相关资源
        最近更新 更多