babel
은 자바스크립트 트랜스파일러다. babel을 사용한다고 자바스크립트 최신 함수를 사용할 수 있는게 아님. babel은 문법을 변환해주는 역할만 할 뿐이다.
polyfill
은 프로그램이 처음에 시작될 때 현재 브라우저에서 지원하지 않는 함수를 검사해서 각 object의 prototype에 붙여주는 역할을 한다.babel
은 컴파일 타임에 실행되고 babel-polyfill
은 런타임에 실행된다.babel-polyfill
을 사용하고 싶다면 별도로 설정해줘야 한다.babel
설정 파일이다. plugins
와 preset
을 설정할 수 있다.plugin
은 es2015의 문법 하나하나를 말한다.preset
은 plugin
이 여러개가 묶여있는 개념이다. 대표적으로 ES6 문법을 모아놓은 es2015 preset과 react 문법을 모아놓은 react preset이 있다.