多个快速中间件调用



我正在使用express开发一个应用程序,我创建了一个设置语言cookie的函数:

[..]
app.use(cookieParser());
app.use(function(req, res, next) {
if(req.cookies.lang === undefined){
console.log(req.cookies);
}
next();
});
app.use(express.static(path.join(__dirname, 'public')));
[..]

一切都很好,但是使用 nodemon,我注意到当我发出请求时会多次调用该函数,我不知道这是想要的行为还是我犯了一些错误。

这是控制台日志:

[nodemon] starting `node ./bin/www`
Connected to database
{ 'connect.sid': 's:NeNC-uUnHtrdlqkSI7GkbMQ6IAhwo2It.tD8Ei9k6XtPn2/4Da2AVJIjoRlK4zkWiltsdgL58Dak' }
GET /signup 304 516.356 ms - -
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' }
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' }
GET /css/bootstrap.min.css 304 3.662 ms - -
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' }
GET /css/tooltipster.bundle.min.css 304 5.445 ms - -
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' }
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' }
GET /css/tooltipster-sideTip-light.min.css 304 9.551 ms - -
GET /css/app.min.css 304 8.440 ms - -
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' }
GET /js/vendor/tooltipster.bundle.min.js 304 7.714 ms - -
GET /js/app.js 304 2.261 ms - -

有人可以开导我吗?我很好奇。

嗯 - 看起来有 7 个日志和 7 个请求,这让我认为记录路由和记录req.cookies之间存在竞争条件。我想你没事。