expressjs 编写多个中间件并导入到主文件中

gam*_*mer 2 node.js express

我有一个包含中间件的脚本,例如:

module.exports = function (req, res, next) {
  req.requestTime = Date.now()
  next()
}
Run Code Online (Sandbox Code Playgroud)

在文件中,我可以导入它,但是如何编写多个中间件并导出所有中间件并导入它?

我正在学习快递并被困在这里:)

Has*_*ary 5

在一个文件中编写多个中间件并将它们全部导出。

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
}
Run Code Online (Sandbox Code Playgroud)

那么如果你想导入它们,你可以导入所有的中间件,比如

 var middleware = require("./middlewares") 
  // name of middleware file in require
Run Code Online (Sandbox Code Playgroud)

然后像使用它们一样

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

或者您可以通过在 require 中添加中间件函数名称来导入单个中间件

 var middleware1 = require("./middlewares").middleware1 
Run Code Online (Sandbox Code Playgroud)

然后像使用它们一样

app.get('/profile', middleware1, function (req, res) {
   // do your stuff
});
Run Code Online (Sandbox Code Playgroud)