Хосподи, ну давай я без класса то же самое напейшу, и без стрелочек:
function Http(req, res) {
this.req = req;
this.res = res;
}
Http.prototype.createServer = function(func) {
func(this.req, this.res);
};
var http = new Http({ url: '/' },
{ write: function(s) {console.log(s);} });
module.exports = http;
И ещё модуль экспортирую, разделю на два файла (чтоб было попохожее), положу его рядом и назову http.js, и основной тогда будет такой:
var http = require('./http');
http.createServer(function(req, res) {
if(req.url == '/')
res.write('Hello, World!');
});
И ты не поверишь, но результат будет тот же.