Node.js use nodemon

 노드몬을 사용하지 않고 node.js 서버를 작성하면 매우 불편하다. 


1. 노드몬(nodemon)이 필요한 이유



위는 간단한 'Hello World'를 브라우저에 출력해 주는 서버이다. 위 사진에서는 서버가 닫혀있다.



이제 'node index'를 terminal에 입력해서 서버를 동작시키자. 당연히 웹페이지는 새로고침을 해도 똑같이 'Hello World'가 출력된다. 


const http = require('http');
const path = require('path');
const fs = require('fs');

const server = http.createServer((req, res) => {

if(req.url === '/'){
res.end('<h1>Hello World Version 2</h1>'); // Version추가
}

});

const PORT = process.env.PORT || 5000;

server.listen(PORT, () => console.log(`Server running on port ${PORT}`));


res.end의 string에 Version 2를 추가하고 저장해도 웹페이지는 변화가 없다.


이유는 서버가 처음 저장한 코드로 돌아가고 있기 때문이다. 이때 수정한 코드를 적용하기 위해서는 서버를 닫고(Ctrl + C) 코드를 저장한후 다시 재시작 해야 한다. 그리고 웹페이지도 다시 새로고침을 해야 한다.


매우 번거로운 작업이며 효율성을 위해 nodemon이 필요한 이유이다.


nodemon 설치법은 링크를 참조 부탁드립니다.



package.json에 가서 scripts에 nodemon을 구동할 코드를 작성해야 합니다. script안에 "dev"(dev외에 다른 명칭으로 써도 됨)를 작성하고 string는 "nodemon index.js"이라고 합니다. 위 예제 말고 index.js 경로에 따라서 다르게 설정해야 할수도 있습니다.


이제 terminal에 'npm run dev'라고 하고 실행하면 '[nodemon] starting 'node index.js''이 뜨면서 서버가 열리게 됩니다.


이때 코드를 수정하고 저장을 하면 '[nodemon] restarting due to changes...'가 출력되면서 서버를 재시작 하게 됩니다. 이후에 웹페이지를 새로고침 하면 새로운 코드가 적용된 웹페이지가 출력이 됩니다.








댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)