Babel

Babel 변환 파이프라인

Babel은 최신 JavaScript를 AST로 파싱한 뒤 플러그인 규칙으로 바꾸고, 대상 환경에 맞는 코드로 다시 출력한다.

소스 코드가 변환 코드가 되는 과정

compile steps

Parse

소스 코드를 토큰과 AST 구조로 읽는다.

Transform

플러그인과 preset이 문법 노드를 교체한다.

Generate

변환된 AST를 다시 JavaScript 코드로 출력한다.

Polyfill 경계

문법 변환과 런타임 API 보완은 역할이 다르다.

modern JSparse ASTtransformgeneratetarget JS
읽는 법

Babel은 브라우저 기능을 모두 해결하지 않는다. 문법 변환과 polyfill 필요 여부를 구분해야 빌드 결과가 정확해진다.