CommonJS와 ES Module의 차이점

kimsnmyng·2025년 1월 2일

Front-End CS

목록 보기
17/79

출처: 매일 메일

CommonJS와 ES Module의 차이점

공통점

두 방식 모두 자바스크립트에서 모듈을 관리하고 불러오는 시스템.

CommonJS (CJS)

  • Node.js 환경에서 주로 사용
  • 동기적 모듈 로딩
  • require()module.exports 사용
  • 서버 측 개발에 적합
// CommonJS 예시
const module = require('module');
module.exports = { data: 'value' };

ES Modules (ESM)

  • ECMAScript 표준 모듈 시스템
  • 비동기적 모듈 로딩
  • importexport 키워드 사용
  • 브라우저와 Node.js 모두 지원
// ESM 예시
import module from 'module';
export const data = 'value';

주요 차이점

특징CommonJSES Modules
로딩 방식동기적비동기적
사용 환경Node.js브라우저 + Node.js
문법require/exportsimport/export
정적 분석불가능가능
트리 쉐이킹어려움용이

최근 동향

Node.js는 버전 12부터 ESM을 네이티브로 지원하기 시작했으며, 풀스택 개발에서 ESM 사용이 증가하는 추세. 특히 비동기적 로딩과 트리 쉐이킹 같은 최적화 기능 때문에 ESM이 더욱 선호되고 있음.

profile
안녕하세요 김선명입니다.

0개의 댓글