IT기본지식
Nodejs es6 babel실행 하기(동기/비동기)
정두현의아이티세상
2020. 9. 3. 11:07
npm설치하고 node 파일명으로 실행하면 대부분되었는데
어떤 파일부터 안되는 것이 보여 확인해보니 ES6이상인경우 변경을 해줘야 한다고 한다.
결국 babel을 설치하여 필요시마다 build하고 대상을 실행했다
(물론 변경된 파일을 실행해야한다)
"build": "cross-env BABEL_ENV=production babel src --out-dir lib",
이렇게 project.json에 셋팅하고 npm run build 하면
src폴더의 js파일들이 lib로 복제되면서 변경이 된다.
그렇게 하던중에 갑자기
regeneratorRuntime is not defined
을 만나게 된다.
이건 기본이 비동기인 Nodejs에서 동기실을 사용할경우 변환된 내용이 인식 안되는 문제이다.
해결하기 위해서는 몇가지 작업이 필요한데
npm install --save-dev babel-cli babel-preset-react
일단 설치 끝내고
.babelrc에
{
"presets": [
["babel-preset-env",
{
"targets": {
"node": "10"
}
}
],
"babel-preset-react"
],
"plugins": []
}
요렇게 기록해서 저장하고 build 진행하니 문제없게 진행되었다.
혹시 필요할경우 babel-polyfill 모듈이 필요할수도 있다.