nodejs +在不同的端口上expression奇怪的东西

有人能告诉我发生了什么事吗? 我有一个应用:

var express = require('express') , http = require('http') , app = express() , port = 3000 , mw = require('./lib/middlewareView') app.use(mw()); app.get('/', function (req, res, next) { res.send("hello"); }); app.listen(port, function() { console.log("Listening on " + port); }); 

和/lib/middlewareView.js:

 module.exports = function middlewareView(){ return function middlewareView(req, res, next) { console.log("middleware run"); next(); }; }; 

当我使用端口3000,并打开http://localhost:3000/一切似乎都很好。 控制台输出:

 Listening on 3000 middleware run hello 

但是如果我切换到端口5000,控制台打印这个:

 Listening on 5000 middleware run hello middleware run middleware run 

所以一个请求中间件运行3次,对吧? 这是正常的吗?

它可能与favicon.ico做 – 这发生在检索您的网站的图标,检查日志,以确保…