본문 바로가기
Frontend

Webpack, Babel, Polyfill

by 프로그레머 2024. 3. 6.

 

Webpack, Babel, Polyfill

 

Webpack

  • 주로 자바스크립트 애플리케이션을 위한 모듈 번들러
  • 주요 역할
    • 프로젝트에 포함된 모든 리소스(JS, CSS, 이미지 파일 등)를 모아서 하나 또는 여러 개의 파일로 합침
    • 필요에 따라 최적화
    • 다양한 로더(loader)를 사용하여 ES6, TypeScript, SASS 등 다양한 언어로 작성된 소스 코드를 일반적으로 JS 파일과 CSS 파일로 변환할 수 있다
    • 결과적으로 의존성 관리와 함께 웹 자원을 효율적으로 로딩하기 위한 번들을 생성한다

 

Babel

  • 자바스크립트 컴파일러
  • 주로 최신 자바스크립트(ES6 이상) 문법을 사용하여 작성된 코드를 모든 브라우저에서 실행 가능한 이전 버전의 자바스크립트(ES5)로 변환하는 데 사용
    • 개발자는 최신 문법과 기능을 사용하여 개발할 수 있다
    • 변환 과정을 통해 코드의 호환성을 보장
  • 플러그인 시스템을 기반으로 하며, 특정 자바스크립트 버전 또는 스테이지(stage)의 제안된 기능을 사용할 수 있도록 해준다

 

Polyfill

  • 웹 개발에서 브라우저 간 호환성 문제를 해결하기 위해 사용되는 코드 조각 또는 플러그인
  • 브라우저가 기본적으로 지원하지 않는 최신 API나 기능을 제공하는 데 사용됨
    • Promise, fetch, Array.from과 같은 ES6 기능을 지원하지 않는 오래된 브라우저에서 해당 기능 사용할 수 있도록 해줌
  • 모든 사용자에게 일관된 경험 제공 가능
  • 최신 기능을 활용한 개발 가능

 

함께 사용하는 이유

Webpack, Babel, 그리고 Polyfill을 함께 사용하는 이점

  • 최신 문법과 기능 사용
    • Babel을 통해 최신 자바스크립트 문법을 사용하면서도, 모든 브라우저에서 코드가 작동하도록 할 수 있다
  • 호환성
    • Polyfill을 사용하여 브라우저가 지원하지 않는 최신 API를 사용할 수 있다
  • 성능 최적화
    • Webpack을 사용하여 애플리케이션의 모든 자원을 번들링하고 최적화함으로써 로딩 시간을 단축시킬 수 있다
  • 모듈 관리
    • Webpack을 통해 모듈 간의 의존성을 관리하고, 코드를 구조화하여 유지보수성을 높일 수 있다

'Frontend' 카테고리의 다른 글

쿠키, 세션, 웹 스토리지 차이  (0) 2024.03.06
CORS  (0) 2024.03.06
DNS  (0) 2024.03.06
브라우저에 www.google.com 입력 시 일어나는 일  (0) 2024.03.06
브라우저 렌더링 과정 or 원리  (0) 2024.03.06