TIL

Today I Learned

View the Project on GitHub ragubyun/TIL

자바스크립트 모듈 시스템 정리

ES6 Modules vs CommonJS vs RequireJS

JavaScript는 태생적인 한계로 인해 자체 모듈 관리 기능이 없었다.(ES6 이전)

이후 ES6에서 자체 모듈 관리 기능을 추가하였으나, 아직 모든 브라우저에서 ES6의 모듈을 지원하지 않고 있어서 CommonJS, RequireJS 등과 같은 모듈 로더 또는 webpack, parcel, snowpack 등과 같은 모듈 번들러를 사용해야 한다.

1. ES6 Modules(ESM) - ES6에서 추가된 모듈 기능

2. CommonJS - de facto standard

2-1. Node.js Module System - CommonJS의 구현체

3. AMD(Asynchronous Module Definition)

3-1. RequireJS - AMD의 구현체