我试图实现类似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
,但这似乎非常低效;相反,我想要一种方法来访问res
中的response
或http
对象并直接添加该功能。
另外一种解决方法可能是:如何直接访问node http
response
个对象,以便我可以执行以下操作:
var res = http.responseObject;
res.send = function(data){
// do stuff
}
请注意,我在这里使用的是vanilla NodeJS,而不是Express(自动执行此类操作)。
答案 0 :(得分:2)
我认为你所寻找的是这样的:
var http = require('http');
http.ServerResponse.prototype.send = function(data) {
// ...
};
var responseHandler = function(req, res){
res.send('hello world');
}
http.createServer(responseHandler).listen(3000);