一尘不染

在Express.js中使用next()将变量传递到下一个中​​间件

node.js

好吧,我的问题是我想将一些变量从第一个中间件传递给另一个中间件,我尝试这样做,但是有req.somevariable一个“给定为’undefined’”。


//app.js
..
app.get('/someurl/', middleware1, middleware2)
...

////middleware1
...
some conditions
...
res.somevariable = variable1;
next();
...

////middleware2
...
some conditions
...
variable = req.somevariable;
...

阅读 230

收藏
2020-07-07

共1个答案

一尘不染

将变量附加到req对象,而不是res

代替

res.somevariable = variable1;

有:

req.somevariable = variable1;

正如其他人指出的那样,这res.locals是通过中间件传递数据的推荐方法。

2020-07-07