Express

안정태·2021년 5월 4일
0

Study

목록 보기
18/33
post-thumbnail

Express

공식문서에서 설명하기를 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크다.
이 프레임워크를 이용하면 다음과 같은 강점을 가진다.

  1. 미들웨어를 붙이기 쉽다.
  2. 자체 라우터를 제공한다.

이 부분에 대해서 하나씩 알아보도록 하자.
express 사용을 위해서는 먼저 설치를 해줘야한다.

npm install express --save 를 통해서 설치를 진행해 준다.

1. 미들웨어를 붙이기 쉽다.

미들웨어는 request에 작업을 해주는 역할을 한다. 이는 express의 가장 큰 장점 중 하나이다.

일단 자주 쓰이는 미들웨어를 알아보자

- 모든 요청에 대해 url이나 메소드를 알고자 할 때

- POST 요청 등에서 쓰이는 body(payload)를 쉽게 얻어내고자 할 때

우리는 HTTP에서 body를 얻으려 할 때, 매우 복잡한 방식으로 body를 얻어낼 수 있었습니다. 이를 쉽게 만들어주는 미들웨어가 바로 body-parser 미들웨어이다

npm install body-parser를 통해서 먼저 설치해준다.

const bodyParser = require('body-parser')
const jsonParser = bodyParser.json()

app.post('/api/users', jsonParser, function (req, res) {
  // req.body를 이용해서 데이터를 다룰 수 있다.
})

- 모든 요청/응답에 CORS 헤더를 붙일 때

express에서 CORS를 구현하는 미들웨어가 cors 미들웨어 이다.

npm install cors 를 통해서 먼저 설치해준다.

const cors = require('cors')

// 모든 요청에 대해 CORS 허용
app.use(cors()) 

// 특정 요청에 대해 CORS 허용
app.get('/products/:id', cors(), function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for a Single Route'})
})

- 요청 헤더에 사용자 인증 정보가 담겨있는지 확인하고 싶을 때

2. 자체 라우터를 제공한다.

우리는 http를 이용해서 서버를 구축할 때, 메소드별로 분기를 설정해서 기능을 하나하나 정의해 줬다. 하지만 express를 이용해서 구축하면 간단하게 구축이 가능하다.

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

app.get('경로', (request, response) => {
  // 기능 구현
})

app.post('경로', (request, response) => {
  // 기능 구현
})

위 와 같이 코드 구현이 가능해 진다.

profile
코딩하는 펭귄

0개의 댓글