如何在Express中的响应对象中添加新方法?

时间:2014-01-30 09:55:29

标签: javascript node.js express

我想为res.json添加一个自定义包装器,我会在发送响应之前进行一些预处理。

我尝试的两件事是:

首先,在express.response对象上添加包装器方法:

var express = require("express");
express.response.customJSON = function() {
  // my wrapper goes here
};

其次,在我编写包装器的地方添加一个中间件:

function(req, res, next) {
  res.customJSON = function() {
    // my wrapper goes here
  }
  next();
}

第一种方法的问题是我使用大量代码使我的app.js文件变得混乱,因为我想为不同的响应类型设置多个包装器。

第二种方法的问题是为每个响应创建了一个新的customJSON函数。我可以使用util.inherit并添加到响应原型中,但我不确定如何以安全的方式执行此操作。

你有什么建议吗?我怎么能这样做?

0 个答案:

没有答案