Node.js 如何将参数传递给中间件的构造函数?
假设我想这样做:Node.js 如何将参数传递给中间件的构造函数?,node.js,express,Node.js,Express,假设我想这样做: app.use('/user/login', require('./routes/user.route.js')(variable)); 我不能,因为我会得到: TypeError:Router.use()需要中间件函数,但未定义 如何将变量传递给用户.route构造函数?在您的用户.route.js中,您需要导出如下内容: module.exports = function (variable) { return (req, res, next) => {
app.use('/user/login', require('./routes/user.route.js')(variable));
我不能,因为我会得到:
TypeError:Router.use()需要中间件函数,但未定义
如何将
变量
传递给用户.route
构造函数?在您的用户.route.js
中,您需要导出如下内容:
module.exports = function (variable) {
return (req, res, next) => {
// your middleware
next()
}
}
或者用咖喱():
如果您使用的是express.Router:
var express = require('express')
var router = express.Router()
router.get('/', function(req, res) {
res.send('Birds home page')
})
module.exports = variable => {
// do something with your variable
router.use(function displayVariable(req, res, next) {
console.log(variable)
next()
})
return router
}
在
user.route.js
中,您需要导出如下内容:
module.exports = function (variable) {
return (req, res, next) => {
// your middleware
next()
}
}
或者用咖喱():
如果您使用的是express.Router:
var express = require('express')
var router = express.Router()
router.get('/', function(req, res) {
res.send('Birds home page')
})
module.exports = variable => {
// do something with your variable
router.use(function displayVariable(req, res, next) {
console.log(variable)
next()
})
return router
}
这是一种很好的方法,可以在每个路由器中以性能的方式定义
var express=require('express')
?require机制可以处理这个问题,这是一个很好的方法,可以在每个路由器中以性能的方式定义var express=require('express')
?需要机制来处理这个问题