扩展尚未创建的javascript(nodeJS)对象

3gtaxfhh  于 2023-05-28  发布在  Node.js
关注(0)|答案(1)|浏览(155)

我正在尝试实现类似于ExpressJS的res.send()的东西,它使用了NodeJS Http response对象的一部分。
Http服务器是这样创建的:

res.send = function(data){
  // Here define how res.send behaves
}

var responseHandler = function(req, res){
   // req and res are passed on from the HTTP call below
   // This code is fired every time a now page is accessed on port 3000
}

http.createServer(responseHandler).listen(3000);

我可以在每次提供新页面时将send()函数添加到res,但这似乎非常低效;相反,我希望有一种方法可以访问http中的resresponse对象,并直接添加函数。

**另一种表达方式可能是:**我如何直接访问node httpresponse对象,以便我可以做类似的事情:

var res = http.responseObject;
res.send = function(data){
   // do stuff
}

请注意,我在这里使用的是vanilla NodeJS,而不是Express(它会自动完成这类任务)。

zlwx9yxi

zlwx9yxi1#

我想你要找的是这样的东西:

var http = require('http');
http.ServerResponse.prototype.send = function(data) {
  // ...
};

var responseHandler = function(req, res){
  res.send('hello world');
}
http.createServer(responseHandler).listen(3000);

相关问题