[英]Nest can't resolve dependencies of repository
我的 nestjs 應用程序出錯。 我無法弄清楚我的代碼有什么問題。 我的代碼是這樣的
應用模塊
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AdminModule } from './components/admin.modules';
@Module({
imports: [
AdminModule,
TypeOrmModule.forRoot({
type: 'postgres',
host: process.env.DATABASE_HOST,
username: process.env.DATABASE_USERNAME,
password: process.env.DATABASE_PASSWORD,
database: process.env.DATABASE_NAME,
port: parseInt(process.env.DATABASE_PORT),
}),
],
})
export class AppModule {}
管理模塊
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Admin } from './admin.entity';
import { AdminRepository } from './admin.repository';
@Module({
imports: [TypeOrmModule.forFeature([Admin])],
providers: [AdminRepository],
})
export class AdminModule {}
管理庫
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { RepositoryBase } from '../../common/base/repository.base';
import { Admin } from './admin.entity';
@Injectable()
export class AdminRepository extends RepositoryBase<Admin> {
constructor(@InjectRepository(Admin) private readonly repo: Repository<Admin>) {
super(repo);
}
我得到的是這樣的錯誤
錯誤:Nest 無法解析 AdminRepository (?) 的依賴項。 請確保索引 [0] 處的參數 AdminRepository 在 AdminModule 上下文中可用。
潛在的解決方案: - 如果 AdminRepository 是一個提供者,它是否是當前 AdminModule 的一部分? - 如果 AdminRepository 是從單獨的 @Module 導出的,那么該模塊是否導入到 AdminModule 中?
我認為問題在於您為提供者提供的名稱: AdminRepository
。 很可能, TypeOrm
在內部使用該名稱為Admin
實體創建存儲庫,因此名稱沖突。
如果您將提供者類重命名為其他任何內容(例如AdminRepo
或AdminService
),則錯誤應該會消失。 或者另一件事是將實體類從Admin
重命名為其他名稱。
您要避免的是使用${EntityClassName}Repository
創建一個類
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.