Webpack, Babel, Polyfill에 대해

oversleep·2025년 1월 18일

1. Webpack:

Webpack은 모던 자바스크립트 애플리케이션을 위한 정적 모듈 번들러

의존성이 있는 모듈들을 하나의 자바스크립트 파일로 번들링해주는 역할

코드 분할, 핫 모듈 교체, 다양한 로더 및 플러그인 지원 등 다양한 기능을 제공

브라우저에서 실행 가능한 형태로 모듈들을 묶어 성능과 통합 개발 환경을 개선할 수 있음

2. Babel:

// 최신 JavaScript (ES6+)
const greet = (name) => {
  console.log(`Hello, ${name}!`);
};

greet("React Developer");

// 트랜스파일링된 코드 (ES5)
"use strict";

var greet = function greet(name) {
  console.log("Hello, " + name + "!");
};

greet("React Developer");

Babel은 최신 자바스크립트 문법을 구형 브라우저에서 실행 가능한 형태로 변환해주는 트랜스파일러

ES6 이상의 최신 자바스크립트 코드를 ES5 등 구버전으로 변환하여 크로스브라우징
(웹 페이지 제작 시 모든 브라우저에서 깨지지 않고 의도한 대로 호환성 좋게 나오게 하는 작업) 이슈를 해결할 수 있음

플러그인과 프리셋을 통해 다양한 환경에 맞게 코드 변환 규칙을 커스터마이징 할 수 있음.
Babel은 React 프로젝트에서 JSX와 최신 JavaScript 문법을 트랜스파일링하기 위해 많이 사용.

React 환경에서 Babel의 역할:

// JSX 코드
const App = () => <h1>Hello React</h1>;

// 변환 후
var App = function App() {
 return React.createElement("h1", null, "Hello React");
};

3. Polyfill:

폴리필(Polyfill)은 브라우저나 JavaScript 환경에서 지원하지 않는 최신 기능을 사용할 수 있도록 제공되는 추가 코드

요약:

Webpack은 모듈 번들링, Babel은 코드 트랜스파일링, Polyfill은 기능 패치 역할을 하여 자바스크립트 개발 환경에서 크로스브라우징 이슈를 해결하고 통합적인 개발 환경을 제공한다.

profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글