有人可以告诉我发生了什么吗?我有一个应用程序:
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 次,对吧?正常吗?