Babel 이란?

자바스크립트 컴파일러. 친절하게도 최신 자바스크립트를 표준 자바스크립트로 변환해준다

Babel Site : https://babeljs.io/


Babel - Node

NodeJS에서 Babel을 실행시키기 위해선 NPM에서 @babel/core, @babel/node 를 설치해야 한다

  • @babel/core : babel의 기본적인 기능들이 들어있다

  • @babel/node : babel을 nodeJS에서 사용하기 위해 필요하다

설치

$ npm install @babel/core @babel/node

설정

위의 패키지 만으로 바벨을 실행시키면 아무 컴파일없이 entry -> output으로 넘어간다

바벨로 인해 컴파일 시킬 기준으로 자바스크립트 스펙이 필요한데

자바스크립트 스펙으로 아직 확정되지 않은 proposal 스펙들이 존재한다

이것들은 5개의 stage로 구분되는데, babel에서는 각각의 stage에 대한 preset이 제공된다

  • babel-preset-stage-0
  • babel-preset-stage-1
  • babel-preset-stage-2
  • babel-preset-stage-3
  • babel-preset-stage-4

이 stage 들 중에 하나를 사용할 수 도 있지만 babel에서는 이 모든 stage를 한번에 사용가능한 babel-preset-env 를 제공해준다

먼저 이 babel-preset-env를 NPM에서 설치하자

$ npm install @babel/preset-env

.babelrc 이름의 파일을 만든다. 이 파일은 babel의 config 파일이다

그리고 이 파일에 preset-env를 사용한다고 아래처럼 입력하면 된다

.babelrc

{
    "presets" : ["@babel/preset-env"]
}

실행

$ babel-node index.js
nodemon 사용시
$ nodemon --exec babel-node index.js

index.js 파일을 표준 자바스크립트 문법으로 컴파일해서 실행한다