<aside>
👉🏻 이번 장에서 논하게 될 주요 주제들
- 모듈이 왜 필수적이며 Node.js에서 다른 모듈시스템이 가능한 이유
- CommonJS 내부와 모듈 패턴
- ES 모듈(ESM)
- CommonJS와 ESM 사이의 차이점 및 상호 이용
</aside>
목차
- 모듈의 필요성
- JavaScript와 Node.js에서의 모듈 시스템
- 모듈 시스템과 패턴
- CommonJS 모듈
- 모듈 정의 패턴
- ESM: ECMAScript 모듈
- ESM과 CommonJS의 차이점과 상호 운용
참고 자료
2-1 모듈의 필요성
<aside>
💡 좋은 모듈 시스템의 필요성
[구조적 관리 & 기능의 독립성]
- 코드 베이스를 나누어 여러 파일로 분할하는 방법을 제시
[재사용성]
- 다른 프로젝트에 코드를 재사용할 수 있게 해준다.
- 모듈로서 구조화된 기능들을 다른 프로젝트에 제공하기 쉽다.
[은닉성]
- 복잡한 구현은 숨기고, 명료한 책임을 가진 간단한 인터페이스만 노출시킨다.
[종속성 관리]
- 기존에 있는 모듈에 의존하여 쉽게 빌드할 수 있도록 해준다.
</aside>
모듈과 모듈 시스템을 구별하는 것은 중요하다. 모듈 시스템은 문법이며, 우리의 프로젝트 안에서 모듈을 정의하고 사용할 수 있게 해주는 도구인 반면, 모듈은 소프트웨어의 실제 유닛으로 정의할 수 있다.
2-2 JavaScript와 Node.js에서의 모듈 시스템