Mini Node Server

Jegon Park·2021년 9월 12일
0

Node.js Express

MERN stack은 JavaScript 생태계에서 인기 있는 프레임워크인 MongoDB, Express, React, Node를 지칭하는 말입니다. 이 중에서 Express.js는 Node.js 환경에서 웹 서버, 또는 API 서버를 제작하기 위해 사용되는 인기 있는 프레임워크입니다.

이번 챕터에서는 Mini Node Server에서 http 모듈로 작성했던 서버를, 프레임워크 Express를 이용하는 방식으로 리팩토링합니다.
Express framework는 npm을 통해 다운로드할 수 있습니다. Express로 구현한 서버가 http 모듈로 작성한 서버와 다른 점은 다음과 같습니다.

  1. 미들웨어 추가가 편리하다.
  2. 자체 라우터를 제공한다.

나는 처음 위의 설명을 듣고서도 이해를 잘 하지못하였다.
솔직히 지금도 남에게 말을 하면서 이해를 시킬 수 있을정도까지는 잘 모르겠다.
그저 어떤 느낌인지 갈피만 잡을 정도....??

const requestHandler = (req, res) => {
  if(req.url === '/lower') {
    if (req.method === 'GET') {
      res.end(data)
    } else if (req.method === 'POST') {
      req.on('data', (req, res) => {
        // do something ...
      })
    }
  }
}

위의 코드는 추가적인 라이브러리를 사용하지 않고, 순수한 node.js 코드를 작성한 것이다.
하지만 Express 는 프레임워크에서 라우터 기능을 제공하기 때문에 보다 간편하게 코드가 짜여진다고 한다

const router = express.Router()

router.get('/lower', (req, res) =>{
  res.send(data)
})

router.post('/lower', (req, res) =>{
  // do something
})

딱 보기에도 뭔가 깔끔하고 직관적으로 보인다. 속된말로 더럽지않다.

짧은 코드이기에 뭔가 이해할 수 있을 만한 내용이지만... 해당 스프린트를 진행 할 때에는
너무 코드가 길어졌어서 제대로 이해하는 것이 힘들었다.

이 또한 내 기본기가 부실하기 때문이므로 복습에 복습을 더 충실히 해야할것 같다.

profile
초보개발자 Goni 입니다

0개의 댓글