📥Bundler

자바스크립트는 대형 어플리케이션을 만들기 위한 목적으로 탄생한 언어가 아니다.

애당초 정적인 웹 페이지의 간단한 동적인 요소를 구현하고자 탄생한 자바스크립트는 표준 모듈 시스템을 가지고 있지 않았다. 하지만, 점점 스크립트의 크기가 커지고, 자바스크립트 런타임의 등장과 함께 언어의 역할 범위가 넓어짐에 따라 CommonJS, AMD 그리고 import, export을 사용하는 ESModules 와 같은 표준 모듈 시스템이 등장하게 되었고, 이후 런타임 뿐만 아니라, 브라우저와 같은 네이티브 레벨에서도 자바스크립트 모듈 시스템을 파싱할 수 있게 되었다.

하지만 모듈 시스템을 해석할 수 있는 능력이 있더라도, 웹 페이지를 구성하는 수많은 모듈들을 각각 요청해서 받아와야 하는 이슈가 남아있었다. 모듈 갯수와 비례하게 요청 횟수 또한 늘어난다는 것인데, 비동기적인 대기로 인한 병목과 모듈 응답 순서 또한 보장받을 수 없는 문제들이 대표적인데,

'여러 개의 파일을 비동기로 로딩하는 것이 문제라면, 빌드할 때 모듈 시스템 기반의 프로젝트를 하나의 파일로 합쳐 파일을 반환하면 어떨까' 라는 관점에서 등장하게 된 것이 바로 번들러(Bundler) 이다.

Last updated