[TIL] External Middleware / Routers

Junyong-Ahn·2021년 8월 29일
0

매일 조금씩 공부

목록 보기
7/7

External Middlewares

Middleware는 양 쪽을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어이다. 혹은, 네이트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해 주는 소프트웨어를 말한다. 3계층 클라이언트/서버 구조에서 미들웨어가 존재한다. 여러 종류/분류의 미들웨어가 있지만, 웹 개발에서 미들웨어는 웹 브라우저에서 데이터베이스로부터 데이터를 저장하거나 읽어올 수 있는 중간다리 역할을 한다.

Morgan

node.js용 request logger middleware. middleware를 직접 작성할 수도 있지만, 이미 배포되어있는 믿을 수 있는 미들웨어를 사용하면, 개발시간을 줄일 수 있다.

npm install morgan

import morgan from "morgan";
const logger = morgan("dev");
app.use(logger);

직접 작성한 미들웨어

const routerLogger = (req, res, next) => {
  console.log(`Route: ${req.path}`);
  next();
};
const methodlogger = (req, res, next) => {
  console.log(`Methode: ${req.method}`);
  next();
};
const handleHome = (req, res, next) => {
  return res.send("I love middlewares");
};
const handleLogin = (req, res, next) => {
  console.log("Welcome to login page");
  return res.send("hello");
};

app.use("/", methodlogger, routerLogger);
app.get("/", handleHome); /
app.get("/login", handleLogin);

morgan 사용

import morgan from "morgan";
const logger = morgan("dev");

const handleHome = (req, res, next) => {
  return res.send("I love middlewares");
};
const handleLogin = (req, res, next) => {
  console.log("Welcome to login page");
  return res.send("hello");
};

app.use(logger);
app.get("/", handleHome); 
app.get("/login", handleLogin);

Express middleware 종류

  • Morgan: This is an HTTP request logger middleware.
  • body-parser: This is a body-parsing middleware that is used to parse the request body, and it supports various request types.
  • method-override: This is a middleware that provides HTTP verb support such as PUT or DELETE in places where the client doesn't support it.
  • Compression: This is a compression middleware that is used to compress the response data using gzip/deflate.
  • express.static: This middleware used to serve static files.
  • cookie-parser: This is a cookie-parsing middleware that populates the req.cookies object.
  • Session: This is a session middleware used to support persistent sessions.
    There are many more types of Express...

0개의 댓글