본문 바로가기

카테고리 없음

[Node] Node 서버 구축 방법, Express.js 서버 구축 방법, nodemon

728x90

1. 노드 서버 구축 방법

노드로 서버를 구축하는 방법은 간단하다.

자바에선 아파치 같은 서버를 따로 설치해서 서버를 구현해야 하지만,

노드 같은 경우엔 간단한 코드로도 서버를 구동하는 것이 가능하다.

 

 

//server.js

const http = require('http'); 
const server = http.createServer((req, res) => {
	console.log('server 구현')
})

server.listen(8080)

 

이런 식으로 모듈을 사용하면, 서버를 생성할 수 있다.

서버를 생성한 후, server.listen에 원하는 포트번호를 적어주면 해당 포트에서 서버를 바로 실행할 수 있다.

 

 

const server = http.createServer((req, res) => {
	if(req.url === '/hello'){
    	res.write('hello')
    } else {
    	res.write('not found')
    }
    
    res.end();
})

 

createServer는 req, res 두 개의 매개변수를 가지는데, 

첫 번째 매개변수는 요청 정보를 두 번째 매개변수는 응답 정보를 가지고 있다. 

 

요청 정보는 말 그대로 http mothod, url 등등 프론트에서 서버에 요청한 정보를 담고 있다.

res는 응답을 보낼 때 사용하며, write는 텍스트를 화면에 나타내준다.

 

위 코드를 분석해 보면, 프론트에서 보낸 url이 hello라면 화면에 hello가 써지고,

그렇지 않다면 not found가 출력될 것이다.

 

res.end()는 응답을 끝낸다는 것을 의미한다.

 

 

node server.js

 

터미널을 열어 node server.js 명령어를 통해 작성한 코드를 실행한 후,

localhost:8080에 들어가면 서버가 구현되어 있는 것을 확인할 수 있다. 

 

 

 

2. Express.js 서버 구축 방법

 

익스프레스는 노드를 좀 더 간편하게 사용할 수 있는 프레임워크이다.

배우기가 간단하고 쉽기 때문에 많이 사용된다.

 

 

npm i express

 

먼저 npm을 통해 express.js를 설치해 준다.

 

 

const express = require('express');
const app = express();

app.get('url', (req, res, next){
	res.send(...)
})

app.listen(8080)

 

express에서 서버를 구축하는 방법도 매우 간단하다.

우선 require를 통해 express를 가져온 후, http 메서드를 사용하면 된다.

get, post, put, delete, all use 모두 동일한 형태를 띠며, 동일한 콜백함수를 받는다.

 

next는 다음으로 넘어가는 것을 의미하고, res.send는 해당 경로에 데이터를 보낼 때 사용한다.

괄호 안에 데이터를 입력하면 된다.

 

 

 

3. Nodemon

 

노드몬(Nodemon)은 자동으로 서버를 재시작 해주는 툴을 말한다.

 

노드에서 코드를 수정하게되면, 변경된 코드가 바로 웹에 반영되지 않는다.

따라서 코드를 변경할때마다 서버를 다시 켜줘야 한다.

그러나 노드몬을 설치하면, 서버를 자동으로 재시작 해주기 때문에 서버를 다시 키지 않아도 된다.

 

 

npm install nodemon --save-dev

 

npm이나 yarn을 통해서 설치할 수 있다.

개발 모드에서만 사용할 것이기 때문에 끝애 --dev를 붙여준다.

 

--dev는 로컬에서만 해당 라이브러리를 사용하겠다는 의미이다.

 

 

 

npm start

 

pacakeg.json 파일의 script에서 start를 nodemon app으로 변경한 후, npm start를 하면 nodemon이 실행된다.

노드몬이 실행된 후에는, 계속해서 npm start를 하지 않아도 자동으로 변경된 코드가 웹에 반영된다.

 

 

 

 

 

 

 

728x90