멤버 삭제 로직을 구현하는 데 아래와 같은 오류 메시지가 뜨면서 빌드가 되지 않았다.

읽어보니 순환 의존성때문에 발생하는 문제였기에 문제 상황과 이를 어떻게 해결했는지 간단하게 정리해봤다.


BoardModule ↔ MemberModule
MemberModule ↔ ReportModule
각 모듈의 서비스 로직이 서로의 서비스 함수를 호출할 필요가 있어서 위와 같이 서로 imports 해줬다.
이렇게 서로 상대방에게 의존성을 가지게 되면 Circular Dependency가 발생해 NestJS 웹 어플리케이션이 빌드되지 못한다.
일단 Circular Dependency가 최대한 안 생기 게 어플리케이션을 설계하는 게 가장 최고이다.