1. 탐구
1. CommonJS Module
1. CommonJS
- CommonJS : JS를 브라우저에서뿐 아니라 서버사이드 애플리케이션이나 데스크톱 애플리케이션에서도 사용하려고 조직한 자발적 워킹 그룹
Common : JS를 브라우저에서만 사용하는 언어가 아닌 일반적인 범용 언어로 사용할 수 있겠다는 의지
Module 명세 1.0, 1.1, 1.1.1 등 존재
Node.js모듈도 Module 명세 1.0 따름
- CommonJS 모듈 : NodeJs에서 자바스크립트 패키지를 불러올 때 사용하는 근본있는 방식
- Node.js는 browser보다 빨리 모듈화를 위한 대책을 보유하고 있었음 : CommonJS, AMD, Webpack-babel
- 이 중 CommonJS가 가장 널리 사용되었다
1. 역사
- 2005년 AJAX가 부상하며
Javascript의 중요성이 그전보다 부각
- AJAX 활성화와 함께
Javascript연산이 증가했고, 더 빠른 Javascript엔진이 필요
- 2008년 Google이 공개한 V8 JS 엔진은 기존 JS엔진보다 월등히 빨랐고, 브라우저 밖에서도 충분히 쓸 만한 성능 자랑
- V8엔진의 등장으로 서버사이드 Javascript 진영에도 활기를 불어넣음
- 2009년 JS에 대한 공동 표준을 정하고 지켜나가기 위해 CommonJS그룹은 CommonJS API 0.1 발표
2. CommonJS Module 문법
require() : 모듈 가져오기
module.exports : 모듈 내보내기
3. CommonJS Module의 시대는 끝났는가?
- 그렇다. 최근 많은 라이브러리들이 대부분 순수한 ESM으로 구현하고 있는 추세