Expressjs中间件中定义的静态变量

时间:2017-10-10 14:48:12

标签: javascript node.js express closures

这是代码:

   var app = require('express')()
   app.get('/',function(req,res){
            var flag = 0
            console.log(flag)
            res.send('ok')
            flag  ++
    }
    app.listen(3001)

每次我请求url'/'时,它都会控制'0',这不是我喜欢的'plus plus',而且我不想将快速中间件之外的变量定义为全局。您是否想告诉我如何在中间件(如静态变量)中使用变量加上。

提前感谢这个小问题。

1 个答案:

答案 0 :(得分:1)

您可以使用locals对象的app属性,用于在应用程序中保持状态的变量

var app = require('express')();

app.locals.flag = 0;

app.get('/',function(req,res){
   console.log(app.locals.flag);
   res.send('ok');
   app.locals.flag++;
});

app.listen(3001);

http://expressjs.com/en/api.html#app.locals