
724
17장 자바스크립트 도구와 확장
·
일부 번들러는 번들이 다시 생성될 때마다 자동으로 브라우저에서 불러오는 ‘모
듈 핫스왑’ 기능도 지원합니다. 이 기능은 개발자에게는 마법과도 같은 경험이
겠지만, 이 기능이 동작하기 위해서는 이면에서 몇 가지 작업이 이루어져야 하
므로 모든 프로젝트에 적합하지는 않습니다.
17.6
바벨(Babel)(
https://babeljs.io
)은 최신 기능을 사용해 작성된 자바스크립트를, 그 기
능을 지원하지 않는 버전으로 컴파일하는 도구입니다. 바벨은 자바스크립트를 자
바스크립트로 컴파일하므로 ‘트랜스파일러’라고 불리기도 합니다. 바벨은 ES5만 지
원하는 웹 브라우저에서 ES6의 새로운 기능을 활용할 수 있게 하려는 목적으로 개
발됐습니다.
지수 연산자
**
나 화살표 함수는 비교적 쉽게
Math.pow()
와
function
표현식으로
변환할 수 있지만,
class
키워드를 비롯해 변형 과정이 훨씬 복잡한 기능들도 있습
니다. 또한 일반적으로 바벨이 컴파일한 코드는 사람이 읽는 상황을 가정하고 만들
어지지 않습니다. 하지만 바벨은 번들러와 마찬가지로 변형된 코드의 위치와 원래
소스의 위치를 연결하는 소스 맵 역시 제공할 수 있으므로, 변형된 코드를 디버그
하기가 그리 어렵지 않습니다.
브라우저 ...