📥Bundler
자바스크립트는 대형 어플리케이션을 만들기 위한 목적으로 탄생한 언어가 아니다.
애당초 정적인 웹 페이지의 간단한 동적인 요소를 구현하고자 탄생한 자바스크립트는 표준 모듈 시스템을 가지고 있지 않았다. 하지만, 점점 스크립트의 크기가 커지고, 자바스크립트 런타임의 등장과 함께 언어의 역할 범위가 넓어짐에 따라 CommonJS
, AMD
그리고 import
, export
을 사용하는 ESModules
와 같은 표준 모듈 시스템이 등장하게 되었고, 이후 런타임 뿐만 아니라, 브라우저와 같은 네이티브 레벨에서도 자바스크립트 모듈 시스템을 파싱할 수 있게 되었다.
하지만 모듈 시스템을 해석할 수 있는 능력이 있더라도, 웹 페이지를 구성하는 수많은 모듈들을 각각 요청해서 받아와야 하는 이슈가 남아있었다. 모듈 갯수와 비례하게 요청 횟수 또한 늘어난다는 것인데, 비동기적인 대기로 인한 병목과 모듈 응답 순서 또한 보장받을 수 없는 문제들이 대표적인데,
'여러 개의 파일을 비동기로 로딩하는 것이 문제라면, 빌드할 때 모듈 시스템 기반의 프로젝트를 하나의 파일로 합쳐 파일을 반환하면 어떨까' 라는 관점에서 등장하게 된 것이 바로 번들러(Bundler) 이다.
Last updated