下面的代码是我的快速中间件调用
var c = app.use(myMiddleware());
console.log(c);
//中间件功能
module.exports = function() {
return function(req, res, next) {
var b = {'A' : 1};
next();
}
};
在应用程序启动后,在上面的代码console.log打印控制台中。
我想将一个值从中间件返回/传递给我的快递应用程序。请问任何建议?
答案 0 :(得分:1)
将您想要在请求范围中使用的任何内容设置为req对象。
app.use(function(req, res, next) {
var b = {'A' : 1};
req.b = b;
next();
});
然后您可以在请求处理程序中使用它:
app.get('/test', function(req, res){
console.log(req.b);
});
答案 1 :(得分:0)
这应该这样做:
var c = app.use(myMiddleware({
callback: function(c) {
console.log(c)
}
}))
//中间件功能
module.exports = function(options) {
return function(req, res, next) {
var b = {'A' : 1}
next()
}
}
或者这个:
var x = myMiddleware()
var c = app.use(x.function)
console.log(x.something)
//中间件功能
module.exports = function(options) {
options && options.callback && options.callback('Hello world!')
return {
function: function(req, res, next) {
var b = {'A' : 1}
next()
},
something: 'Hello world!',
}
}