콘텐츠

ESM 삽질기

역량 개발 · 카카오스타일 테크 · 2022.04.09

Node.js 환경에서 CommonJS와 ESM(ECMAScript Modules) 사이의 호환성 문제로 인해 발생하는 에러와 그 해결 방안을 다루고 있습니다. 특히 chalk 모듈이 Pure ESM으로 전환되면서 기존 CommonJS 프로젝트에서 발생했던 ERR_REQUIRE_ESM 에러의 원인을 분석합니다. JavaScript에서의 해결 방법(확장자 변경, package.json 설정, dynamic import)과 TypeScript 환경에서의 복잡한 해결 과정(tsconfig 설정, --esm 옵션 사용 등)을 상세히 설명하며, 실무에서 사용할 수 있는 tsimportlib 라이브러리를 활용한 우회 방법까지 소개합니다.