728x90
반응형
모듈화 방식
- CommonJS : exports 키워드로 모듈을 생성, require() 함수로 임포트하는 방식
- 장점 : 모든 파일을 로컬에 저장하고 동기적으로 동작하여 전역변수와 지역변수를 분리할 수 있게 되었다.
- 단점 : 필요한 모듈을 가져오는데 대기하게 됨.
- AMD(Asynchronous Module Definition): CommonJS를 비동기적으로 사용할 수있는 도구
- ESM : import, 와 export 로 임포트하는 방식(ES6가 도입 이후)
- 장점 : 키워드 만으로 모듈화 가능
- 단점 : 모듈별로 을 네트워크 통신을 통해 가져오면서 비용과 시간 소요
자바스크립트 모듈 | CJS와 ESM의 차이
최근 프로젝트를 몇 개 진행하면서 마주한 에러가 있습니다.
medium.com
특징
ES6 모듈
CommonJS
ESM | CommonJS | |
로딩 방식 | 정적 로딩 (컴파일 타임) | 동적 로딩 (런타임) |
문법 | import, export | require, module.exports |
모듈 범위 | 파일 단위 | 파일 단위 |
트리 셰이킹 | 지원 (최적화 가능) | 지원하지 않음 |
사용 환경 | 브라우저, 서버 (트랜스파일러) | 주로 서버 (Node.js) |
엄격 모드 | 자동 적용 | 선택적 적용 |
728x90
반응형
'WEB' 카테고리의 다른 글
CSS 확장 / Sass에만 존재하는 기능이 CSS에 통합 되다 ! (0) | 2025.02.12 |
---|---|
웹개발 아키텍처 스타일 | Model 1, Model 2 (0) | 2025.02.10 |
웹 성능 분석 및 INP 최적화 | Lighthouse (0) | 2025.02.10 |
JavaScript window 객체: 주요 속성, 메서드, 이벤트 알아보기 (1) | 2024.11.22 |
패키지 로드 방법 비교: NPM vs CDN의 차이점 (2) | 2024.11.08 |