앞에서 우리가 설정한 서버는 localhost 서버로 본인이 사용하는 컴퓨터가 서버가 되었다. 그러나 개발이 끝나면 서버는 아마존 클라우드 서버같은 public 한 망에 배포가 되어야 한다.
배포환경을 설정하는것은 맨 뒤에 할 것이고 여기서는 개발환경을 먼저 구성해보자. 개발환경에서 가장 중요한것은 HMR의 구성이다. 소스를 수정하면 수정된 내용을 바로 확인할 수 있어야 한다.
HMR은 Hot Module Replace의 약자로서 변경 사항을 수정하면 바로 컴파일되고 만약 프런트개발을 하고 있다면 브라우저까지 리프레쉬를 해줘서 수정사항을 바로바로 확인할 수 있는 설정이다.
앞에서와 같이 실행하게 되면 소스를 수정할때 마다 control – c 를 눌러서 프로그램을 종료시키고 다시 실행해야 한다.
먼저 nodemon을 글로벌하게 설치한다. nodemon은 소스가 수정되었는지를 watch하고 있다가
1 |
C:\web\node\hero-server>npm install -g nodemon |
앞에서는 타입스크립트로 컴파일후 노드로 실행했는데 타입스크립트를 바로 실행하기 위해서는 ts-node가 필요하다.
1 |
C:\web\node\hero-server>npm install --save-dev ts-node |
package.json의 start 스크립트를 추가한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{ "name": "hero-server", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "nodemon --exec ts-node src/index.ts", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.16.4" }, "devDependencies": { "@types/express": "^4.16.1", "ts-node": "^8.1.0", "typescript": "^3.4.5" } } |
npm start 로 실행하면 nodemon이 변경된 화일을 watch하고 있고 ts-node가 타입스크립트를 바로 실행할수 있게 해준다.