← 전체 글로 돌아가기

웹 개발

제네릭이 빌드에서만 에러 날 때 대처법

TypeScript 제네릭이 로컬에선 안 되고 빌드에서만 에러 날 때, 빠르게 찾아내는 방법.

화면 하나만 보지 말고 로그와 응답을 함께 봐야 한다. TypeScript 제네릭 문제는 특히 그렇다. 타입 안정성 전체 흐름에서 원인을 좁혀야 해결된다.

한 줄 요약: 문제의 경계 정하기

정상 상태를 먼저 정해두는 게 좋다. 그래야 타입 가드 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.

먼저 볼 파일들

실제 응답부터 확인하면 불필요한 수정을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.

  • 먼저 볼 값: 실제 응답과 타입 정의
  • 비교할 값: 정상일 때의 타입 안정성 상태
  • 남겨둘 기록: 빌드 로그, 응답 코드, 수정한 설정
npm run build
npx tsc --noEmit

optional/null 확인

제네릭 자체보다 재현 가능한 단서를 남기는 게 중요하다. 타입 정의를 확인하면 다음으로 볼 범위가 확 줄어든다.

타입 가드 확인과 실수 포인트

빌드 에러가 애매하면 다른 부분을 고쳐도 결과가 바뀌지 않을 수 있다. 따라서 정확한 에러 메시지를 파악하는 게 먼저다.

  1. 증상이 같은 조건에서 다시 나는지 확인한다.
  2. 빌드 로그에서 바뀐 부분을 정확히 설명한다.
  3. 빌드 결과와 실제 실행 결과를 최종 확인한다.

결과가 바뀐 이유를 빌드 로그로 설명할 수 있으면 충분히 정리된 것이다.