Webpack(웹팩)은 대표적인 자바스크립트 모듈 번들러(Module Bundler)로, 많은 기능과 확장성으로 좀 더 복잡한 프로젝트에서도 효율적으로 모듈을 관리할 수 있도록 도와줍니다.
package.json은 말그대로 패키지 버전 관리라면
webpack의 관리대상 컴포넌트된 자원들을 하나의 java"script" 변환해줌
heroicons = svg@webpack
이용해서 과부하 줄이기불필요한 라이브러리 (lodash, moment 같은것)
중복 모듈 (import의 중요성)
최적화 설정 미완시
tree shaking : unused 는 최종 번들에서 제거해서 로드함 (번들크기 줄임)
- 조건 1. es6 모듈서야한다고 함
- 조건 2. production 환경 (자동 적용)
# utils
export function used(){
console.log("this function is used");}
export function unused(){
console.log("is not used");
}
# main.js
import {used{ from './utils';
used();
code splitting : button click event 시에만 component 모듈 로드
# main.js
function loadComponent(){
import('./component')
.then(({default: component})=>{
document.body.appendChild(component());
})
.catch((error)=>
console.error("Error loading!",error));
}
document.getElmdocument.querySelector('button').addEventListener('click', loadComponent);