CommonJS와의 상호 운용성

CommonJS 상호 운용

TypeScript 코드가 ES 모듈 문법을 쓰더라도 실행 환경과 패키지가 CommonJS 방식이면 컴파일 옵션과 import 형태를 함께 조정해야 합니다.

module 옵션

출력 형식 결정

tsconfig의 module 값은 컴파일된 자바스크립트가 어떤 모듈 문법을 쓸지 정합니다.

CommonJS
require 연동

기본 내보내기 차이

CommonJS 패키지를 가져올 때 default import와 namespace import의 결과를 확인해야 합니다.

require
타입 패키지

선언 정보 점검

자바스크립트 라이브러리는 @types 패키지로 타입 정보를 추가하는 경우가 많습니다.

@types/node
실행 환경

Node 설정 일치

package.json의 type, tsconfig 옵션, 실제 실행 명령이 같은 모듈 기준을 바라봐야 합니다.

type: module