TypeScript 자체는 모듈 시스템을 제공하는 언어이지만, ESM(ECMAScript Modules) 또는 CommonJS와 같은 모듈 시스템 중 하나를 선택하여 사용할 수 있습니다. TypeScript는 ESM 모듈과 CommonJS 모듈을 모두 지원합니다. 중요한 점은 TypeScript가 자체 모듈 시스템을 가지고 있지는 않지만, 컴파일된 JavaScript 코드가 어떤 모듈 시스템을 사용할지를 설정할 수 있다는 것입니다.
TypeScript에서 ESM을 사용하는 방법:
TypeScript에서 ESM(ECMAScript Modules)을 사용하려면 tsconfig.json 파일에서 module 설정을 ESNext 또는 ES6로 지정하면 됩니다.
{
"compilerOptions": {
"module": "ESNext", // 또는 "ES6"
"target": "ES6"
}
}
이 설정을 하면 TypeScript가 ESM 스타일의 모듈(import/export 구문)을 사용하여 JavaScript로 컴파일됩니다.
결론:
- TypeScript는 ESM을 지원하지만, 기본적으로 ESM은 아닙니다. 설정에 따라 CommonJS 또는 ESM을 사용할 수 있습니다.
- ESM을 사용하려면
module옵션을 ESM으로 설정해 주어야 합니다.
따라서, TypeScript를 사용할 때 ESM을 원한다면 tsconfig.json에서 해당 설정을 해주면 됩니다.