首页 > 解决方案 > Nest 无法解析 ResolutionService 的依赖项

问题描述

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

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

潜在的解决方案:

  • 如果 ResolutionRepository 是提供者,它是当前 ResolutionService 的一部分吗?
  • 如果 ResolutionRepository 是从单独的 @Module 导出的,那么该模块是否导入到 ResolutionService 中?@Module({ imports: [ /* 包含 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);
  }
}

标签: typescriptnestjs

解决方案


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


推荐阅读