티스토리 뷰
다른 모듈을 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
'라이브러리, 프레임워크 > Nest.js' 카테고리의 다른 글
[NejstJS] Query 배열로 받기 (class-validator 이용) (0) | 2022.12.30 |
---|---|
[NestJS] @Res 객체를 쓸 때 return을 하지 않는 문제 (0) | 2022.09.06 |
[NejstJS] class-validator 정규식 활용 (Matches) (0) | 2022.07.07 |
[NestJS] @Get 사용 시 라우터의 순서 (0) | 2022.07.06 |
[NestJS] Dto 효율적으로 사용하기 (상속 / Mapped types) (0) | 2022.07.06 |
댓글