미들웨어는 라우터에서 값을 넘기기 전에 먼저 가로채서 실행하는 개념이다(말그대로 중간에 거쳐가는 함수)
node express의 미들웨어 사용하기
맞는 상황일때만 next()를 사용해서 값을 넘겨주고
아닌 상황에는 res.sendRedirect(자바 서블릿의 response.sendRedirect 또한 떠올랐다) 로 값을 돌려준다
해당 상황은 로그인정보가 없을때 로그인창으로 이동되는등으로 사용이 된다.
const express = require('express');
const admin = require('./routes/admin');
const contacts = require('./routes/contacts');
const nunjucks = require('nunjucks');
const logger = require('morgan');
const app = express();
const port = 3000;
nunjucks.configure('template', {
autoescape: true,
express: app,
});
//미들 웨어 셋팅
app.use(logger('dev'));
function vipMiddleware(req, res, next) {
console.log('최우선 미들웨어');
next();
}
app.get('/', (req, res) => {
res.send('hello express');
});
//app.use를 활용해서 admin 라우팅 정보를 불러온다
app.use('/admin', vipMiddleware, admin);
app.use('/contacts', contacts);
app.listen(port, () => {
console.log('express listening on port');
});
미들웨어는 vue router의 네비게이션 가드(beforeEnter 및 beforeEach, ) 와 미들웨어는 굉장히 비슷한 개념이라고 인식했다
(spring 에서는 aop와 비슷한느낌)
'Node.js > node 기초' 카테고리의 다른 글
express 글로벌 변수및 404, 500 에러 핸들링 (0) | 2020.05.15 |
---|---|
express 정적 파일 생성하기 (0) | 2020.05.15 |
http 내장모듈을 활용한 서버 구축하기 (0) | 2020.05.05 |
node dns (0) | 2020.05.04 |
node EventEmitter (0) | 2020.05.04 |