2017-03-16 1 views
1

주 파일로 가져올 :이 가져올 수 있지만, 어떻게 여러 미들웨어를 쓸 수 있습니다 그들 모두를 내보낼 파일에서expressjs 여러 미들웨어를 작성하고 내가 같은 미들웨어 보유하고 스크립트가

module.exports = function (req, res, next) { 
    req.requestTime = Date.now() 
    next() 
} 

을 가져 오기?

나는 표현 배우고 여기에 붙어있어 :)

+0

처럼 사용하고 단지 객체로서 가져 오거나'module.exports.middleware1 = middleware1','module.exports 같은 단일있다. middleware2 = middleware2' –

+0

일반적으로 파일에 여러 미들웨어가있는 것은 좋지 않습니다. 각 파일을 만듭니다. 하나의 파일, 하나의 책임, 하나의 미들웨어. –

답변

0

가 하나 개의 파일에 여러 미들웨어를 작성하고 그들 모두를 exprot. 다음

var middleware = require("./middlewares") 
    // name of middleware file in require 

같은 미들웨어를 모두 가져 당신이 그들을 가져올 경우

function middleware1(req, res, next) { req.requestTime = Date.now(); next() } 
function middleware2(req, res, next) { req.requestTime = Date.now(); next() } 
function middleware3(req, res, next) { req.requestTime = Date.now(); next() } 

module.exports = { 
    middleware1 : middleware1, 
    middleware2 : middleware2, 
    middleware3 : middleware3 
} 

다음 수 있습니다

app.get('/profile', middleware.middleware1, function (req, res) { 
    // do your stuff 
}); 

처럼 그들을 사용 또는 미들웨어를 추가하여 하나의 미들웨어를 가져올 수 있습니다 함수 이름 필요시

var middleware1 = require("./middlewares").middleware1 

당신은 당신이 필요 이상으로 많은 미들웨어처럼 쓸 수

app.get('/profile', middleware1, function (req, res) { 
    // do your stuff 
}); 
관련 문제