: ES6+ 버전 이상의 자바스크립트나 JSX, 타입스크립트 코드를 하위 버전의 자바스크립트 코드로 변환 시켜 IE나 다른 브라우저에서 동작할 수 있도록 하는Javascript 트랜스 파일러
babel은 컴파일시에 실행되고, babel-polyfill은 런타임에 실행이 된다.
@babel/preset-env
최신 기능을 제공한다면, 변환하지 않음
before (ES6 문법)
[1, 2, 3].map((n) => n + 1);
after (ES5 이전 문법)
[1, 2, 3].map(function (n) {
return n + 1;
});
babel/preset-react
JSX 코드 → Javascript의 React.createElement(…)로 변환
before(JSX)
const simpleButton = (
<button type="submit" onClick={() => alert("클릭")}>
제출
</button>);
after(JS)
const simpleButton = React.createElement(
"button",
{
type: "submit",
onClick: () => alert("클릭"),
},
"\uC81C\uCD9C"
);
babel/preset-typescript