对于只需要在单个请求期间可用的数据,应该将其存储在哪里?
我正在 req 和 res 对象上创建新属性,因此我不必将数据从一个函数传递到另一个函数。
req.myNewValue = 'just for this request'
进程对象是一个选项吗?或者它是否在所有请求中全局共享?
在 Express 4 中,最佳实践是将请求级别变量存储在当地人资源 http://expressjs.com/en/api.html#res.locals.
包含作用域为响应局部变量的对象
请求,因此仅适用于在期间呈现的视图
该请求/响应周期(如果有)。否则,该属性是
与 app.locals 相同。
此属性对于公开请求级信息非常有用,例如
请求路径名称、经过身份验证的用户、用户设置等。
app.use(function(req, res, next){
res.locals.user = req.user;
res.locals.authenticated = ! req.user.anonymous;
next();
});
The process
对象由所有请求共享,不应按请求使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)