我正在使用通过npm安装的node.js模块。
我想知道修改节点模块功能的最佳方法是什么。 让我们说我有一个名为Handler的模块,并且有一个名为foo的方法,它接受一个请求对象并返回一个响应对象。
1)如果我想在回复之前对回复做些什么怎么办。
我只是修改代码本身吗?
有没有关于此的文章?
更新 -
此外,原始函数正在修改一些未返回的对象,但我也想修改它们。我该怎么处理?
答案 0 :(得分:1)
我在这里要做的是在函数周围创建一个包装器,然后在那里进行更改。如果不清楚,请参考以下代码:
var myModule = require('myModule');
var myModuleFunc = myModule.myFunc;
myModule.myFunc = function() {
var res = myModuleFunc.apply(this, arguments); // call the function, and pass along context and arguments
res = transform(res); // whatever you do the response
return res;
};