티스토리 뷰
어떻게 만들지, 어떤 패키지를 활용할지 지난 시간에 대충 계획을 세웠으니 이제 프로젝트를 만들어보도록 하자.
폴더를 하나 만들고 거기에 npm init -y 명령으로 package.json 파일을 생성하자.
$ npm init -y
이제 당장 생각나는 패키지들을 인스톨 해보자.
- koa
- koa-router
- passport-jwt
- sequelize
$ npm i -save koa koa-router passport-jwt sequelize
이렇게 설치해놓고 생각해보니 로그인 처리를 하려면 POST 방식으로 데이터를 받아야하고, Restful API 주제에 CORS 이슈도 생각을 못한 것이 떠올랐다. 그래서 아래의 패키지들을 더 인스톨 하도록 하자.
- koa-bodyparser
- koa-cors2
koa-cors 는 코아 서버가 버전이 올라가면서 안쓰는 것인지 안쓸거라는 건지 잘 모르겠지만 Warning을 발생시켜서 koa-cors2 패키지를 설치해야한다.
$ npm i -save koa-bodyparser koa-cors2
대충 이정도면 코딩준비는 마쳤다.
내가 이 시점에 한가지 고민을 하게 된 것이 babel을 사용해서 ES 2015를 사용하는 것이 좋지 않을까? 하는 것이다. 아무래도 Class 를 사용할 수 있는 것과 사용할 수 없는 것은 큰 차이가 있으니까.
그래서 몇가지 패키지들을 추가하기로 했다.
- babel-cli
- babel-preset-es2015
- nodemon
$ npm install --save-dev babel-cli babel-preset-es2015 nodemon
이렇게 추가를 완료했으면 몇 가지 작업을 진행하자.
일단 프로젝트 디렉토리에 .babelrc 파일을 만든다.
{
"presets": ["es2015"],
"plugins": []
}
이렇게 하면 ECMA Script 2015(ES6)를 사용할 수 있게 된다.
이제 package.json 파일을 수정하자.
"scripts": {
"start": "nodemon src/index.js --exec babel-node"
, "build": "babel lib -d dist"
, "test": "echo \"Error: no test specified\" && exit 1"
}
Scripts에 test만 덩그러니있을 텐데 start와 build를 추가해주면 끝난다.
이제 디버깅 환경을 잡아주자.
Visual Studio Code에서 벌레모양 아이콘을 클릭한다.
그러면 lauch.json 파일을 자동으로 만들어줄텐데 아래의 코드를 넣어준다.
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/src/index.js",
"stopOnEntry": false,
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/babel-node",
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
, "PORT" : "5000"
},
"console": "internalConsole",
"sourceMaps": false,
"outFiles": []
}
]
이렇게 하면 이제 F5키만 눌러주면 코드가 알아서 실행된다.
개발환경은 이정도로 마치고 본격적으로 코딩에 들어가보도록하자.
'Dev > Node.js' 카테고리의 다른 글
Koa + MySQL + Passport-jwt 셋팅하기 #1 (2) | 2020.02.12 |
---|