在node.js请求对象上设置自定义属性是否有任何问题?

Node.js是否构build在可用于添加自定义属性的对象中?

var http = require('http'); var server = http.createServer(function(request, response) { request.myObj = {'lots of info':true}; <-- is it ok to add this object to request? response.writeHead(200, { 'Content-type':'text/plain' }); response.end('Hello World!'); }); server.listen(8888); console.log('Listening on http://127.0.0.1:8888'); 

这是否被认为是可接受的或禁止的?

这是非常普遍的做法,特别是在快速/连接应用程序。 只要注意名称冲突,否则节点社区似乎基本上完全可以根据我的经验。 如果你偏执狂,使用一个唯一的命名空间,如req.MY_APP = {}; 并坚持你所有的东西在那里。

当我的应用程序和strongloop代理尝试设置req.graph ,我曾经遇到过一次错误,但是我联系了他们,他们同意他们应该为他们的财产使用一个不常用的名字。