我有https://github.com/chjj/tty.js/的以下代码:
this.get("/hola", function(res) {
iniciar();
});
function iniciar() {
self.init();
}
iniciar();
转到localhost:8080/hola
,它不会加载。 localhost:8080
完美无缺。 self.init()
调用一个函数,反过来调用其他函数。问题似乎是以下称为函数:
Server.prototype.initMiddleware = function() {
var self = this
, conf = this.conf;
this.use(function(req, res, next) {
var setHeader = res.setHeader;
res.setHeader = function(name) {
switch (name) {
case 'Cache-Control':
case 'Last-Modified':
case 'ETag':
return;
}
return setHeader.apply(res, arguments);
};
next();
});
this.use(function(req, res, next) {
return self._auth(req, res, next);
});
this.use(term.middleware());
this.use(this.app.router);
this.use(express.static(__dirname + '/../static'));
};
根据express.js
文件:
// a middleware sub-stack which prints request info for any type of HTTP request to /user/:id
app.use('/user/:id', function(req, res, next) {
console.log('Request URL:', req.originalUrl);
next();
}, function (req, res, next) {
console.log('Request Type:', req.method);
next();
});
因此,似乎第一个app.get
与其他app.use
或this.use
之间存在“冲突”。我该如何解决?
答案 0 :(得分:-1)
这是因为你没有返回任何东西然后浏览器轮询它直到它返回一些东西。
this.app.get("/hola", function(req, res) {
res.writeHead(200, {'content-type':'text/html'});
res.end('/*html code here*/');
});