트리 셰이킹이란?
- 모듈에서 사용되지 않는
데드 코드 제거(dead code elimination)
의 한 형태이다.- 나무를 세게 흔들면 죽은 가지만 바닥으로 떨어지는 이미지에서 용어를 차용해왔다.
- 정적 분석을 통해서 모듈에서 불러온 어떤 요소들이 현재 사용되지 않는지 알 수 있다.
- 이 사용되지 않는 코드는 추후 번들링에 의해서 사라지게 될 것이다.
동적 임포트와 트리 셰이킹
- 동적 임포트인
import()
를 한번만 사용하더라도 번들러는 트리 셰이킹을 수행하기 어려워진다.- 정적 분석이 불가능하기 때문에 런타임에서야 어떤 코드를 지워도 되는지 알 수 있기 때문이다.
번들링
- 번들링은 예전엔 구형 브라우저에도 신형 코드가 호환될 수 있도록 하는 목적으로 많이 사용했다.
- 번들링을 통해 트리 셰이킹도 가능하다.
- 번들링 과정에서 많은 JS 파일의 개수를 줄여주는데, 이는 리소스 부하를 줄이고 웹페이지의 속도를 빠르게 한다.
반응형
'자바스크립트 > 모던 자바스크립트' 카테고리의 다른 글
모던 자바스크립트, 프록시 (Proxy) (0) | 2023.03.29 |
---|---|
모던 자바스크립트, 모듈 2 - 모듈의 동작 방식 (0) | 2023.03.26 |
모던 자바스크립트, 모듈 1 - import 와 export 방식 (0) | 2023.03.26 |
모던 자바스크립트, 위크 맵(WeakMap) 과 위크 셋(WeakSet) (0) | 2023.03.24 |
모던 자바스크립트, 셋 혹은 세트 (Set) (0) | 2023.03.23 |