웹팩이란 최신 프론트엔드 프레임워크에서 가장 많이 사용되는 모듈 번들러
이다.
모듈 번들러
웹 애플리케이션을 구성하는 자원(HTML, CSS, Javascript, Images 등)을 각각의 모듈로 보고 이를 조합해서 병합된 하나의 결과물을 만드는 도구를 의미한다.
모듈이란 프로그래밍 관점에서 특정 기능을 갖는 작은 코드 단위를 의미한다.
이 math.js 파일은 아래와 같이 3가지 기능을 가지고 있는 모듈이다.
1. 두 숫자의 합을 구하는 sum() 함수
2. 두 숫자의 차를 구하는 substract() 함수
3. 원주율 값을 갖는 pi 상수
이처럼 성격이 비슷한 기능들을 하나의 의미 있는 파일로 관리하면 모듈이 된다.
웹팩에서 지칭하는 모듈이라는 개념은 위와 같이 자바스크립트 모듈에만 국한되는 것이 아니고 웹 애플리케이션을 구성하는 모든 자원을 의미한다.(HTML, CSS, Javascript, Images 등)
아래와 같이 웹 애플리케이션을 구성하는 몇십, 몇백개의 자원들을 하나의 파일로 병합 및 압축 해주는 동작을 모듈 번들링이라고 한다.(빌드, 번들링, 변환 모두 같은 의미이다.)