ES6문법 변환

tkddls8848·2021년 10월 6일
0

코딩 이슈

목록 보기
1/3
import mongoUrl from './url.js'

const AuthUrl = mongoUrl;
const MongoClient = require('mongodb').MongoClient;

GitHub에 올라가는 코드에 MongoDB접속 패스워드를 노출시키고 싶지 않았다.
그래서 외부 파일인 url.js에 MongoDB접속 url을 기입하고 이를 server.js에 import하려 했으나,

(function (exports, require, module, __filename, __dirname) { import mongoUrl from './url.js'
                                                                     ^^^^^^^^

SyntaxError: Unexpected identifier

이런 에러가 발생했다.

구글링 결과, 해당 코드는 ES6문법이지만, NodeJS가 해당 문법을 받아들이지 못하는 현상으로서, import를 ES5형태로 고치거나 ES5를 ES6로 변환 해주는 babel 모듈을 설치하면 된다.

나는 학습을 통해 ES6문법을 지향하고자 하므로 babel 모듈을 설치하였다.
npm install --save-dev @babel/core @babel/node
npm install --save-dev @babel/preset-env

babel nodeJS 연결 모듈 설치
npm install @babel/node

.babelrc 파일 생성 후 내용 추가했음.
{
"presets": ["@babel/preset-env"]
}

package.json의 script "start"를 입력함.
"start": "nodemon --exec babel-node server.js",

이를 통해 ES6변환 도구인 babel을 nodeJS와 연결하고 npm 스크립트에 명령어를 입력하여 server.js의 ES6코드를 실행할 수 있게 되었다.

profile
매일 배워 나갑니다.

0개의 댓글