728x90
NestJS 프레임워크에서 자주 볼 수 있는 에러가 참조 에러이다. 실제 아래의 에러가 발생하면 어떤 조치를 취하면 될까?
1. 원인
If "MemberRepository" is a provider, is it part of the current DealModule? 여기서 추론 할 수있는게 바로 MemberRepsoitory를 프로바이더 이면 DealModule의 부분이냐? 이 Nestjs 프레임워크에 적응이 되어있지 않으면 이해가 조금 난해하고 헤매기 쉽다. 이 의미는 DealModule에 등록을 하고 MemberRepository를 주입해라 이런 의미다.
[deal.service.ts파일] 여기에서 MemberRepository를 주입해서 사용하고 있는데!
@Injectable()
export class DealService {
constructor(
@InjectRepository(Deal)
private readonly deals: Repository<Deal>,
@InjectRepository(Member)
private readonly members: Repository<Member>,✅ MemberRepository를 주입해서 사용
@InjectRepository(Robot)
private readonly robots: Repository<Robot>
) {}
}
[deal.module.ts 파일] Member 엔티티가 빠져있어서 에러가 나고 있다.
@Module({
imports: [TypeOrmModule.forFeature([Order, OrderItem, Robot, Deal ])], ✅Member엔티티 없음
controllers:[DealController],
providers: [DealService]
})
export class DealModule {
static forRoot:any;
}
2. 해결
@Module({
imports: [TypeOrmModule.forFeature([Order, OrderItem, Robot, Deal, Member ])], "Member 엔티티를 추가"
controllers:[DealController],
providers: [DealService]
})
export class DealModule {
static forRoot:any;
}
728x90