Skip to content

번들 분석 ​

번들 분석(Bundle Analysis)은 번들의 크기와 구성 요소를 시각화해 불필요한 코드와 라이브러리를 제거하는 최적화 방법이에요.

번들이 크면 로딩이 느려지고 성능이 떨어지기 때문에, 번들 분석을 사용해 문제를 찾고 성능을 높일 수 있어요.

사전 준비: 번들 분석 도구 설치 ​

먼저 번들 분석 도구를 설치해 볼게요.

도구를 설치하고 설정을 완료했다면, 실제로 번들을 분석한 결과를 확인할 수 있어요.
분석 결과를 보면, 어떤 모듈이 번들 크기에 많이 기여하고 있는지, 중복되거나 최적화되지 않은 부분이 있는지를 한눈에 파악할 수 있어요.

번들 분석 결과 활용하기 ​

분석 결과를 바탕으로, 번들 크기를 줄이고 성능을 개선하는 방법을 살펴볼게요.

불필요한 라이브러리 제거하기 ​

가벼운 라이브러리 사용 ​

전체 기능을 다 쓰지 않는 큰 라이브러리는 가벼운 라이브러리로 바꾸세요.

bash
# moment.js → dayjs, date-fns로 교체
npm install dayjs date-fns

# lodash → es-toolkit으로 교체
npm install es-toolkit

중복 모듈 제거하기 ​

중복 설치된 모듈을 제거해 번들 크기를 줄이세요.

bash
# npm 사용 시
npm dedupe

# yarn 사용 시 (Yarn v2 이상)
yarn dedupe

설치 전 패키지 크기 확인하기 ​

Bundle Phobia에서 패키지 크기를 확인하고 설치를 결정하세요.

부수 효과(side-effect) 관리하기 ​

부수 효과가 있는 모듈은 트리 셰이킹 대상에서 제외돼요. 순수 모듈만 남겨 번들을 최적화하세요.

  • 웹팩의 webpack-cli --json 또는 StatsWriterPlugin을 이용해 Side Effect 모듈을 찾으세요.
  • package.json의 sideEffects: false 필드를 설정해 Side Effect가 없는 모듈만 남기세요.