모듈 시스템 개발하는 애플리케이션의 크기가 커지면 언젠간 파일을 여러 개로 분리해야 하는 시점이 온다. 이때 분리된 파일 각각을 모듈(module)이라고 부른다. 필요한 모듈을 불러올 수 있게 해준다거나 코드를 모듈 단위로 구성해주는 방법을 만드는 등의 역할을 모듈 시스템이 지원한다. Node.js에는 CommonJS(CJS), ECMAScript Modules(ESM)이라는 두 가지 모듈 시스템이 존재한다. CJS require와 modules.export를 사용한다. module loader가 동기적으로 작업을 한다. Tree shaking이 어렵다. ESM import와 export를 사용한다. module loader가 비동기적으로 작업을 한다. Tree shaking이 쉽다. Module Loa..