Nodejs 정리노트 #1

고라니·2021년 1월 30일
0

express

미들웨어

기본적인 접근: 사용자 혹은 남이 만든 기능을 우리가 사용함으로써 편리하게 코딩할수있음

많이쓰는 Third-party middleware

  1. body-parser
    사용자가 요청한 post데이터를 내부적으로 분석해가지고,
    원래의 app.post 보면 콜백함수의 request 안에 request.body라는 프로퍼티는 원래 없는데 바디파서가 req.body를 생성해준다.

  2. compression
    데이터가 크면 그거를 주고받는데 비용 및 시간 손실이 크므로, 압축하여 주고받기 위해 사용.
    이때 무슨형식으로 압축했는지랑+브라우저가 무슨 형식으로 풀어야하는지 알려주므로 사용.
    (ex gzip형식 등등..)

미들웨어 직접만들기

app.use(function(request, response, next){
  fs.readdir('./data', function(error, filelist){
    request.list = filelist;
    next(); // 
  })
});

현재의 미들웨어 함수가 요청-응답 주기를 종료하지 않는 경우에는 next()를 호출하여 그 다음 미들웨어 함수에 제어를 전달해야 합니다. 그렇지 않으면 해당 요청은 정지된 채로 방치됩니다.
( 내가 예시로 만든 이것은 이제 모든요청에 대하여 자동으로 readdir을 하여 request.list 프로퍼티를 생성함)

미들웨어는 순차적으로 실행된다.

★ 모든 app.use나, app.get(get방식에만 적용), app.post(post방식에만 적용)
모두 미들웨어의 연속이다 라고 할 수 있음. 그래서

app.use(function(req, res, next){
  res.status(404).send('Sorry cant find that!');
})

이런 코드들은 끝에 작성한다. ( 위에서 순차적으로 찾고 실행되다가 결국 여기까지 오면 404notfound를 실행시킨다.)
이 말고도 error처리를 위한 app.use(function(err, req, res, next){});
등등 끝에있어야 할 미들웨어들도 존재한다.

profile
공부를 열심히 하는 학부생

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN