Babel
JavaScript 코드의 트랜스파일러(transpiler)로, 최신의 ECMAScript 표준을 준수하지 않는 구형 브라우저에서도 최신 JavaScript 문법과 기능을 사용할 수 있도록 변환해주는 역할을 한다.
목적
- ECMAScript 표준의 새로운 기능을 지원하지 않는 구형 브라우저를 위해 현대적인 JavaScript 코드를 예전 버전의 코드로 변환하여 호환성을 확보하는 데 사용
- 다양한 JavaScript 환경에서 코드를 작성할 수 있도록 도와주며, 새로운 문법이나 플러그인을 통한 기능 확장을 지원
할 수 있는 것
- ES6+ 코드를 ES5 코드로 변환
- 플러그인과 프리셋 사용: 플러그인과 프리셋을 통해 사용자 정의 변환 규칙을 추가. 이를 통해 특정 기능이나 문법을 확장하거나 사용
구성과 예시:
패키지 설치
npm install @babel/core @babel/preset-env --save-dev
설정 파일 생성
.babelrc
또는 babel.config.js
파일을 사용하여 설정을 관리
.babelrc
{
"presets": ["@babel/preset-env"]
}
babel.config.js
module.exports = {
presets: ['@babel/preset-env']
}
Babel CLI를 사용하여 구성도 가능
npx babel src --out-dir dist
위의 예시에서 src 폴더의 내용을 dist 폴더로 변환한다.
Webpack과 함께 사용 (선택 사항)
Babel은 주로 웹팩과 함께 사용되어 모듈 번들링과 코드 변환을 같이 처리하는 것이 일반적이다.