모듈 해석은 specifier를 실제 파일과 타입 선언으로 연결한다
import 문자열이 상대 경로인지, package인지, alias인지에 따라 compiler가 탐색하는 후보가 달라진다.
| 질문 | 판정 |
|---|---|
| ./ 또는 ../ 로 시작하나? | 상대 경로로 파일 후보 탐색 |
| package 이름인가? | node_modules와 package.json exports/types 확인 |
| paths alias인가? | baseUrl/paths 설정을 먼저 적용 |
| 타입만 필요한가? | .d.ts와 @types 후보까지 확인 |
| 신호 | 해석 |
|---|---|
| 실패 신호 | Cannot find module |
| 점검 순서 | specifier → tsconfig → package exports → d.ts |
| 판단 | 런타임 해석과 타입 해석을 둘 다 맞춘다 |
핵심 런타임 해석과 타입 해석을 둘 다 맞춘다