TOOL/BUILDER 2018. 12. 18. 15:27

!markdown


# Babel - 바벨


## Babel - Async


- `Async` 기능에 대해서 소스코드를 Transform할 수 있도록 해주는 방법이다. (많은 Browser에서 사용할 수 있도록)

- Babel7을 예시로 들었으며, Babel7부터는 앞에 @ 를 붙는다. 이전 버전과 호환성에 있어서 혼선이 있을 수 있다.




### 1. npm install


```

npm install --save-dev @babel/plugin-transform-async-to-generator @babel/plugin-transform-regenerator @babel/plugin-transform-runtime babel-plugin-syntax-async-functions

```


```

npm install --save @babel/runtime

```






### 2. .babelrc


```

{

  "presets": [    

  "@babel/preset-env"    

  ],

  "plugins": [

    "syntax-async-functions",

    "@babel/plugin-transform-async-to-generator",

    "@babel/plugin-transform-regenerator",

    "@babel/plugin-transform-runtime"

  ]

}

```



### 3. 실행




### 참고


- Transpile Async Await proposal with Babel.js?: [https://stackoverflow.com/questions/28708975/transpile-async-await-proposal-with-babel-js](https://stackoverflow.com/questions/28708975/transpile-async-await-proposal-with-babel-js)


- babel-plugin-transform-async-to-generator: [https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator](https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator)

- babel-plugin-transform-regenerator : [https://babeljs.io/docs/en/babel-plugin-transform-regenerator](https://babeljs.io/docs/en/babel-plugin-transform-regenerator)

- babel-plugin-transform-runtime#installation: [https://babeljs.io/docs/en/babel-plugin-transform-runtime#installation](https://babeljs.io/docs/en/babel-plugin-transform-runtime#installation)

- babel-plugin-syntax-async-functions: [https://babeljs.io/docs/en/babel-plugin-syntax-async-functions](https://babeljs.io/docs/en/babel-plugin-syntax-async-functions)


- [javascript] async, await를 사용하여 비동기 javascript를 동기식으로 만들자: [https://blueshw.github.io/2018/02/27/async-await/](https://blueshw.github.io/2018/02/27/async-await/)