Node.js/Node

중간요청을 가로채는 미들웨어

김긍수 2020. 12. 21. 12:12

어떤 페이지는 로그인을 해야만 접근이 가능하도록 하려고 할때, 사용할 수 있다.

 

/admin/ 이후 url은 무조건 testMiddleware를 거치게된다.

//admin.js

const express = require('express');
const router = express.Router();

function testMiddleware(req, res, next) {
    console.log('첫번째 미들웨어');
    next();
};

router.get('/', testMiddleware, (req, res) => {
    res.send('admin 이후 url');
});

router.get('/products', (req, res) => {
    // res.send('admin products url');
    res.render( 'admin/products.html', {
        message : '<h1>반가워요</h1>',
        name : '긍수'
    } ); //템플릿에 뿌려줌
});

module.exports = router;

 

app.js에서 하는 방법

//미들웨어 셋팅
app.use( logger('dev') );
function vipMiddleware(req, res, next) {
    console.log('최우선 미들웨어');
    next();
}

app.use( '/admin', vipMiddleware, admin);