Node.JS_ middleware(2)

JOO·2021년 11월 20일
0

node.js

목록 보기
6/15

Node.JS_ middleware(2)

express 에서 사용할 수 있는 middleware의 유형은 아래와 같습니다.

  1. Application-level middleware
  2. Router-level middleware
  3. Error-handling middleware
  4. Built-in middleware
  5. Third-party middleware

1. Application-level middleware, Router-level middleware

app.use(), app.METHOD()로 이루어진 요청

 // Application-level middleware
 // 해당 PATH로 마운트 되는 미들웨어
app.use('/user/:id', function (req, res, next) {
 console.log('Request Type:', req.method);
 next();
});

 // HANDLER 함수
app.get('/user/:id', function (req, res, next) {
 res.send('USER');
});
 
 // Router-level middleware
router.get('/user/:id', function (req, res, next) {
 // if the user ID is 0, skip to the next router
 if (req.params.id == 0) next('route');
 // otherwise pass control to the next middleware function in this stack
 else next(); //
}, function (req, res, next) {
 // render a regular page
 res.render('regular');
});

이전 middleware정리 문서랑 동일함.


2. Error-handling middleware

app.use(function(err, req, res, next) {
 console.error(err.stack);
 res.status(500).send('Something broke!');
});

Error-handling middleware는 반드시 4개의 인수를 가짐.
-> (err, req, res, next)
-> 코드 가장 하단부에 위치


3. Built-in middleware, Third-party middleware

 // Built-in middleware
 // express에서 기본적으로 제공하는 middleware
app.use(express.static('public'));
app.use(express.static('uploads'));
app.use(express.static('files'));
 
 
 // 다른사람이 만들어 놓은 middleware
 // npm install을 이용해 설치해야 사용 가능
const express = require('express');
const app = express();
const cookieParser = require('cookie-parser');

// load the cookie-parsing middleware
app.use(cookieParser());
middleware는 실행순서가 가장 중요함. 원하는 결과를 얻기 위해서 실행순서를 잘 생각하면서 코드를 짜야할듯.

Node.js는 위에서 아래로, 왼쪽에서 오른쪽으로 실행!

profile
개발공부 기록

0개의 댓글

관련 채용 정보