有点困惑于如何在我的应用程序中最好地处理404个案例。这是一个非常基本的例子的要点。
//******************************
// BUILD THE HTTP SERVER
//******************************
var express = require('express');
var app = express.createServer();
app.get('/login', function(req, res){
console.log("hit the login");
res.send('you hit the login');
});
app.get('*', function(req, res){
console.log("got a 404");
res.send('what???', 404);
});
app.listen(8081);
console.log('Server started on port: 8081');
如果我启动服务器并点击服务器的索引“/”我正确地获取404消息,但是在日志中2“在控制台上有一个404”的日志条目...奇怪。
因此,如果我点击“/ login”页面,我会获得正确的页面,并向控制台发送相应的消息,但是,我也收到了404消息给控制台?
这是预期的行为吗?我在4.11上使用最新的2.5.4 express,但是在其他版本的节点上尝试了相同的结果。
我真的不喜欢我的404路由在每个请求上被调用的事实,我一定是做错了。
答案 0 :(得分:3)
这可能是因为浏览器试图为您的网页提供favicon
。
只需使用express.favicon()
创建服务器:
express.createServer(
express.favicon()
);
您可能还想使用logger
来发现这样的事情,这是非常有用的中间件。