2017-03-16 5 views
1

メインファイルにインポートします:私はこれをインポートすることができますが、どのように私は、複数のミドルウェアを書くことができ、それらのすべてをエクスポートファイルでexpressjsは、複数のミドルウェアを書き、私のようなミドルウェアを保持スクリプト持っ

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

をそれをインポートしますか?

私は明示してここに捕まってしまった:)

+0

のようにそれらを使用して、あなたはちょうどあなたが 'module.exportsは、必要なだけオブジェクトとして、または' module.exports.middleware1 = middleware1'などのシングルとしてそれをインポートし、多くのミドルウェアとして上記のように書くことができます。ミドルウェア2 =ミドルウェア2 ' –

+0

一般に、ファイルに複数のミドルウェアを置くことはお勧めできません。それぞれのファイルを作成します。 1つのファイル、1つの責任、1つのミドルウェア。 –

答えて

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 
}); 
関連する問題