티스토리 뷰

다른 모듈을 import 해서 사용을 하게 되는 경우가 많은데, 양쪽에서 서로를 불러올 경우 에러가 발생한다.

 

에러메시지

A circular dependency between modules ~~~

 

원인

// review.module.ts
@Module({
  imports: [
    DatabaseModule,
    GymModule, // --> Gym 모듈 불러오는 중
  ],
  exports: [ReviewService],
  controllers: [ReviewController],
  providers: [
    ...ReviewProviders,
    ReviewService
  ],
})
export class ReviewModule { }


// gym.module.ts
@Module({
  imports: [
    DatabaseModule,
    ReviewModule, // --> Review 모듈 불러오는 중
  ],
  exports: [GymService],
  controllers: [GymController],
  providers: [
    ...gymProviders,
    GymService
  ],
})
export class GymModule { }

Gym 모듈과 Review 모듈 양 쪽에서 서로를 import 하고 있다.

 

해결

한 쪽에서만 불러오도록 로직을 수정하는 것이 좋을 것 같다.
공식 문서에 따르면 이런 상황은 피하는 것이 좋다고 하기 때문이다.
하지만 불가피할 경우 Forward Reference를 이용하라고 해결책을 함께 제시해주었다.

해결방법 : https://docs.nestjs.com/fundamentals/circular-dependency

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함