TypeScript

CommonJS와의 상호 운용성

타입스크립트는 module과 moduleResolution 설정에 따라 ES 모듈(import/export) 코드를 서로 다른 출력 형식으로 변환합니다. 다만 Node.js 생태계에서는 오랫동안 CommonJS(require/module.exports)가 사실상 표준이었습니다.

CommonJS와 ESNext 모듈을 함께 쓸 때 import/export 출력과 런타임 호환 조건을 확인합니다.

1

module 컴파일러 옵션

tsconfig.json 파일의 compilerOptions.module 설정은 타입스크립트 코드를 어떤 모듈 시스템으로 컴파일할지 결정합니다.

CommonJS
2

CommonJS 모듈 가져오기

타입스크립트 프로젝트에서 CommonJS 모듈을 가져올 때는 module, esModuleInterop, 선언 파일의 export 형태가 실제 런타임과 맞아야 합니다.

"ESNext" 또는 "ES2015" 이상
3

@types 패키지를 통한 타입 지원

대부분의 인기 있는 자바스크립트 라이브러리(CommonJS로 배포되든 ES 모듈로 배포되든)는 DefinitelyTyped 프로젝트를 통해 타입 정의 파일(.d.ts 파일)을 별도 패키지로 받을 수 있습니다.

"CommonJS"