express란?


  • express는 Node.js에서 가장 많이 사용되는 웹 서버 프레임 워크중 하나입니다. koa나 hapi같은 웹 서버 프레임워크도 있지만 express가 다운로드 수가 가장 많으며, 많은 사람이 사용하는 만큼 버그가 적고 기능 추가 및 유지보수가 가장 활발하게 일어나는 웹 서버 프레임 워크입니다.




express 시작


import express from "express";

const app = express();

app.set("port", process.env.PORT);

app.listen(app.get("port"), () => {});

  • express는 내부에 http 모듈이 내장되어 있기 때문에 위와같이 express 모듈을 import하고 express app 생성 후 listen 상태로 만들어서 웹 서버를 실행할 수 있습니다.




express 메서드


app.set(key, value)


  • app.set 메서드는 app에 key와 value를 저장할 수 있습니다. 그리고 나중에 app.get(key)을 통해서 저장했던 값을 가져올 수 있습니다.




app.get(주소, 라우터)


  • 라우터에 req,res,next를 인자로 받는 콜백 함수를 등록할 수 있으며, req에는 요청에 관한 정보가 들어있으며, res에는 응답에 관한 정보가 들어있습니다. next는 현재 콜백 함수가 최종 목적지가 아닐경우 next()를 호출하여 다음 middleware가 호출될 수 있도록 합니다.




GET, POST, PUT, PATCH, DELETE


  • express 메서드에는 HTTP 메서드와 맵핑된 메서드들이 있으며 이를 이용해서 요청된 HTTP 메서드에 따라서 get, post, put, patch, delete 등의 메서드가 호출됩니다.




app.use


  • app.use는 middleware를 등록하거나 라우터를 등록할 때 사용합니다.

  • 첫 번째 인자로 주소를 넣지 않는다면 해당 middleware는 모든 요청에서 실행됩니다.




middleware


  • express에서 middleware는 요청과 응답 중간에 위치하는 콜백 함수입니다. middleware를 통해서 요청과 응답을 조작하여 기능을 추가하거나 잘못된 요청을 걸러낼 수도 있습니다.

  • middleware에서 사용하는 인자는 (req, res, next) 입니다. next를 통해서 다음 미들웨어나 finaleware의 호출 여부를 결정짓습니다.

  • middleware는 app.use를 통해서만 등록할 수 있는 것은 아니며, get, post, put, delete 등의 http 메소드를 특정하여 해당 요청에서만 호출될 수 있도록 할 수 있습니다.




(err, req, res, next) middleware


  • 특정 middleware에서 error 가 발생되어 next 호출 시 error를 전달하였다면 (err, req, res, next)를 인자로 받는 middleware가 호출되어 에러를 핸들링 하도록 할 수 있습니다.




route


router
  .route("/abc")
  .get((req, res) => {})
  .post((req, res) => {});

  • route 메서드를 이용해서 동일한 Url로 요청한 메서드들을 가시성 있게 프로그래밍할 수 있습니다.




'Node.js' 카테고리의 다른 글

npm(node package manager)란?  (0) 2022.12.18
Node.js의 파일 시스템  (0) 2022.12.17
Node.js와 모듈  (0) 2022.12.11
Node.js란?  (0) 2022.12.11

+ Recent posts