웹 애플리케이션을 구성하는 자원(HTML, CSS, Javscript, Images 등)을 모두 각각의 모듈로 보고 이를 조합해서 병합된 하나의 결과물을 만드는 모듈 번들러이다.
웹 애플리케이션을 구성하는 몇십, 몇백개의 자원들을 하나의 파일로 병합 및 압축 해주는 동작을 모듈 번들링이라고 한다.
빌드, 번들링, 변환 이 세 단어 모두 같은 의미이다.
파일 단위로 javascript 모듈 관리를 할 수 있다. (ES6 modules도 가능)
여러 종류의 모듈들을 모두 자바스크립트 코드로 합쳐서 import 할 수 있도록 해준다.
import
구문require()
구문define
과 require
구문@import
구문url(...)
또는 <img src="..." />
웹팩은 로딩 시간을 줄이기 위해서 Lazy Loading과 Tree Shaking을 한다.
HTML, CSS, JS, 이미지 압축, CSS 전처리기 변환(SCSS → CSS) 등을 해준다.
코드를 수정한 뒤 저장하고 새로고침하는 일을 웹팩이 처리해준다.
빈 폴더에서 아래 명령어로 package.json
파일을 생성한다.
npm init -y
아래 명령어로 해당 폴더에 웹팩 관련 라이브러리와 lodash 라이브러리 설치한다.
npm i webpack wepack-cli webpack-dev-server -D
npm i lodash
webpack.config.js
파일에 원하는 옵션을 설정한다.