본문 바로가기
정리

트리쉐이킹이란?

by HTT 2024. 11. 8.

코드에서 사용되지 않는 부분을 제거하는 과정을 시각적으로 설명하기 위해 붙여진 이름으로,  나무(tree)를 흔들어(dead branches) 불필요한 가지를 떨궈내는 것에 비유한 것이다. 

 

tree에 비유하는 이유

 

모듈 시스템과 코드베이스는 일반적으로 트리 구조와 비슷하게 구성된다. 즉, 애플리케이션의 최상위 모듈에서 시작해 하위 모듈로 연결된 의존성 그래프를 생각할 수 있다. 이 트리에는 실제로 사용되는 모듈(가지)과 사용되지 않는 모듈(불필요한 가지)이 모두 포함된다.

 

'shaking'의 의미

 

'쉐이킹'은 나무를 흔들어서 쓸모없는 가지를 떨어뜨리는 과정처럼, 코드베이스에서 사용되지 않는 모듈이나 코드를 탐지하고 제거하는 것을 의미한다. 

  • 코드 분석: 번들러가 코드 트리(의존성 그래프)를 탐색하여 각 모듈이 실제로 참조되고 사용되는지를 확인
  • 불필요한 코드 제거: 사용되지 않는 모듈이나 함수가 탐지되면 최종 번들에서 제외되어, 결과적으로 작은 크기의 번들을 생성

이 트리쉐이킹드에서 사용되지 않는 부분을 제거하는 과정을 시각적으로 설명하기 위해 붙여진 이름으로, 나무(tree)를 흔들어(dead branches) 불필요한 가지를 떨궈내는 것에 비유한 것이다. 

 

tree에 비유하는 이유

 

모듈 시스템과 코드베이스는 일반적으로 트리 구조와 비슷하게 구성된다. 즉, 애플리케이션의 최상위 모듈에서 시작해 하위 모듈로 연결된 의존성 그래프를 생각할 수 있다. 이 트리에는 실제로 사용되는 모듈(가지)과 사용되지 않는 모듈(불필요한 가지)이 모두 포함된다.

 

'shaking'의 의미

 

'쉐이킹'은 나무를 흔들어서 쓸모없는 가지를 떨어뜨리는 과정처럼, 코드베이스에서 사용되지 않는 모듈이나 코드를 탐지하고 제거하는 것을 의미한다. 

 

이 트리쉐이킹을 통해 번들 크기를 줄이고, 로딩 속도를 개선할 수 있다.

댓글