사용하지 않은 코드를 빌드 중 걸러내어 번들 사이즈를 줄인다.
math 모듈과 같은 간단한 모듈들에는 이 작업이 쉽지만, 몇몇 상황에선 어렵기도 합니다😅
트리 쉐이킹의 개념
트리 쉐이킹은 최종 자바스크립트 번들에서 절대 사용하지 않는 코드들을 걸러내는 것이다.
트리 쉐이킹의 장점 👍
- 번들 사이즈를 줄임으로써 다운로드 속도와 컴파일 속도를 향상 시킬 수 있다.
- 요새 번들러는 이 과정을 자동적으로 해준다
트리 쉐이킹은 어떻게 할까?
- 앱과 관련 의존성을 추상 구문 트리로 만들어서 탑 레벨부터 탐색해서 한 번이라도 방문해본 곳을 체크한다 (아닌 곳은 🔪)
- 트리 쉐이킹은 모듈 문법을 사용하는 곳에서만 일어날 수 있다.
사이드 이펙트
- 현재 모듈 외에 다른 코드에 영향을 끼치는 코드가 존재한다면 사용하지 않더라도 트리 쉐이킹의 타깃이 되지 못한다.