express middleware

이영광·2021년 9월 12일
0

Node.js

목록 보기
4/10

익스프레스 미들웨어는 익스프레스의 핵심이며, 요청과 응답의중간에 위치한다

라우터와 에러핸들러 또한 미들웨어의 일종이며 미들웨어는 정말로 익스프레스의 전부라고 할수있다.

미들웨어는 요청과 응답을 조작하며 기능을 추가하기도하고 나쁜요청을 걸러내기도한다.

미들웨어는 app.use와 함께 사용되며 app.use(middleware)로 사용한다

const express = require("express");
const app = express();
const path = require("path");

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

app.use((req, res, next) => {
  console.log("모든 요청에 다 실행");
  next();
});

app.get(
  "/",
  (req, res, next) => {
    console.log("GET/요청에만 응답");
    next(); //next()다음 미들웨어로 넘어가기위해
  },
  (req, res) => {
    throw new Error("에러는 에러처리 미들웨어로 고");
  }
);

app.use((err, req, res, next) => {
  console.error(err);
  res.status(500).send(err.message);
});

app.listen(app.get("port"), () => {
  console.log(app.get("port"), "번 포트에서 대기중");
});
  • 에러처리 미들웨어
    현재 app.get라우터에 2개의 미들웨어가 있는데 next를 호출해야지 다음 미들웨어로 넘어갈수있다.

    현재는 app.get('/')의 두번째 미들웨어에서 에러가 발생하고 이 에러는 밑에있는 어레처리 미들웨어에 전달된다

  • 에러처리 미들웨어는 매개변수가 위에보이는 4개이며 사용하지않더라도 항상 4개여야한다, 첫번째 매개면수 err는 에러에과낳ㄴ 정보가 있고 status로 상태 코드를 정해준다

profile
《REACT》《JAVASCRIPT 》 만지고있어욤

0개의 댓글