多个快速中间件调用

时间:2017-07-24 22:32:42

标签: node.js express middleware

我正在使用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 - -

有人能让我高兴吗?我很好奇。

1 个答案:

答案 0 :(得分:0)

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