Express를 사용해 서버 연동하기

Sohyeon Bak·2021년 4월 17일
0

기타

목록 보기
1/1
post-thumbnail

🦋 노드(Node.js)로 서버 연동

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
-
노드는 서버가 아니며 JavaScript 런타임이다.
그렇다면 JavaScript로 서버를 어떻게 실행시킬까?

const http = require('http');
const server = http.createServer((req,res) => {
    console.log(req.url, req.method);
    res.end('Hello node');
})
server.listen(3065, () => {
    console.log('서버 실행 중')
})

먼저, 자바스크립트로 서버를 실행하기 위해서 백앤드 파일에 app.js를 만들고 위와 같은 코드를 작성한다.
node에서 제공하는 http가 서버를 연동시켜 준다.
따로 http를 다운 받을 필요없다.

  • http.createServer((req, res) => { 코드 })
    : 코드 안에 Method와 url을 통해 프론트와 통신할 수 있다.
  • server.listen( 숫자 )
    : 숫자 안에 서버 포트를 작성해준다.

🦋 Express를 이용해 코드 분리 및 정리

1번의 요청에 1번의 응답만 할 수 있기 때문에 요청에 따른 수많은 라우터가 필요하다. 수많은 코드를 관리하고 정리하기 위해 express를 사용한다.

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

app.listen(3065, () => {
    console.log('서버 실행 중')
})

기존에 createServer안에 수많은 Method와 url를 한꺼번에 if문으로 작성하게 되면 장황한 코드를 만들게 되는데 Express를 사용해 코드를 분리하고 정리해줄 수 있다.

Express를 npm으로 먼저 다운로드 받아준다.
그리고 위의 코드로 변경하는데, express를 받아오고, app변수로 실행을 시켜줘야한다. 그리고 listen으로 서버 포트와 연결시켜준다.

🦋 Express에서 REST API 호출 방법

app.get('/', (req, res) => {
	res.send()
})

express에서의 method는 app 바로 뒤에 .과 함께 작성하고 첫번째 인자에 url를 넣어준다.

REST API

  • app.get() : 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
  • app.post() : 해당 URL를 요청하면 리소스를 생성한다.
  • app.put() : 리소스를 수정한다.
  • app.delete() : 리소스를 삭제한다.
  • app.patch() : 리소스를 부분 수정한다.
  • app.options() : 리소스를 확인 후 상태를 진행한다.
  • apa.head() : header만 가져온다.

참고 REST API 제대로 알고 사용하기

🦋 Express 분리하기

먼저, routes 폴더를 만들어서 url이 겹치는 것으로 javascript file를 하나 만든다.

app.js

const cardRouter = require('./routes/card');

app.use('/card', cardRouter)

app.use를 사용해서 분리한 라우터를 넣어주고, 중복되는 경로를 prefix로 앞애 넣어준다. 그리고 require로 불러준다.

routes > card.js


const express = require('express');
const router = express.Router()

router.post('/', (req, res) => { //POST /post
    res.json({})
});

router.delete('/', (req, res) => { //DELETE /post
    res.json({})
});


module.exports = router;

express를 먼저 호출하고 router로 연결시킨 후 app대신 router로 연결시켜 준다. 그리고 중복되는 url은 삭제하고 /만 넣어준다.

profile
정리하고 기억하는 곳

0개의 댓글