-
코드 번들링, 변환, 최적화를 통해 효율적인 개발 환경을 제공하는 도구
-
코드 번들링 (Code Bundling) : 여러 개의 소스 파일을 하나 또는 여러 개의 번들 파일로 묶는 과정
- 브라우저가 여러 파일을 개별적으로 요청하는 대신, 번들 파일을 한 번에 로드 -> 네트워크 요청 수를 줄이고 로딩 시간을 단축
- 예를 들어, 프로젝트에 100개의 JavaScript 파일이 있을 때, 브라우저는 이를 모두 개별적으로 요청해야 하는데, 번들링을 통해 하나의 큰 파일로 묶으면 브라우저는 단 한 번의 요청으로 필요한 모든 스크립트를 가져올 수 있다.
-
코드 변환 (Code Transformation) : 최신 JavaScript(ES6 이상) 코드나 TypeScript, JSX 등을 브라우저가 이해할 수 있는 구형 JavaScript 코드로 변환하는 과정 -> 더 많은 브라우저 호환성을 확보
- 예를 들어, async/await와 같은 최신 JavaScript 문법들을 Babel 같은 도구를 사용하여 구형 브라우저에서도 동작할 수 있도록 변환한다.
-
최적화 (Optimization) : 애플리케이션의 성능을 향상시키고 로딩 시간을 줄이기 위해 코드와 리소스를 효율적으로 관리하는 과정
- 코드 분할코드 분할 (Code Splitting) : 코드의 특정 부분만 필요할 때 로드되도록 분할
- 트리 쉐이킹 (Tree Shaking) : 사용되지 않는 코드를 제거
- 이미지 최적화 : 이미지 파일의 크기를 줄이고 포맷을 최적화하여 로딩 시간을 단축
- 캐싱 (Caching) : 자주 변경되지 않는 리소스를 저장
- 미니피케이션 (Minification) : 코드의 공백, 주석 등을 제거하고 변수명을 짧게 변경