【问题标题】:nodejs connect middleware function overridenodejs连接中间件功能覆盖
【发布时间】:2014-01-29 05:56:42
【问题描述】:

连接中间件是否防止中间件组件意外覆盖作为 res 方法的函数?或者你只需​​要确保你以不同的方式命名它? 所以在这个例子中你基本上只是弄乱了身体数据,防止这种情况的最好方法是什么?

 .use(connect.bodyParser())
 .use(function(req,res,next){
      req.body=null;
 })
 .use(function(req,res){
      res.end(req.body);
 });

【问题讨论】:

  • 是的 req 对象由所有中间件函数共享,因此将其设置为 null 将导致丢失正文数据。

标签: javascript node.js connect middleware


【解决方案1】:

如果您非常担心,可以将所有内容放在自己的命名空间中:

app.use(function (req, res, next) {
  req.myappname.foo = null
  req.myappname.bar = null
});

或者只是在覆盖之前确保它不存在。您始终可以在测试脚本中进行手动检查。

【讨论】:

    猜你喜欢
    • 2015-05-14
    • 1970-01-01
    • 2019-05-06
    • 2022-10-14
    • 1970-01-01
    • 2016-01-13
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多