Javascript 获取Express中的请求数

Javascript 获取Express中的请求数,javascript,node.js,express,server,backend,Javascript,Node.js,Express,Server,Backend,我想知道是否有任何方法可以通过Expressjs获得某个路径中的请求总数?为什么不自己计算呢 let pingCount = 0; app.get('/ping',(req, res) => { pingCount++; res.send(`ping world for ${pingCount} times`); }); 我创建了一个中间件,它将连接所有路由并计算访问量。在app.js中将此项放在您的路线之前 let page_visits = {}; let visits =

我想知道是否有任何方法可以通过Expressjs获得某个路径中的请求总数?

为什么不自己计算呢

let pingCount = 0;
app.get('/ping',(req, res) => {
  pingCount++;
  res.send(`ping world for ${pingCount} times`);
});

我创建了一个中间件,它将连接所有路由并计算访问量。在app.js中将此项放在您的路线之前

let page_visits = {};
let visits = function (req, res, next) {
  let counter = page_visits[req.originalUrl];
  if(counter || counter === 0) {
    page_visits[req.originalUrl] = counter + 1;
  } else {
    page_visits[req.originalUrl] = 0;
  }
  console.log(req.originalUrl, counter);
  next();
};

app.use(visits);

countMiddleware函数充当中间件,因此它将针对每个请求执行。count变量将针对登录到服务器上的每个请求递增

为什么不维护一个计数器变量,并执行
计数器+++
内部路由@NicekorI是这样做的,我很好奇是否有什么具体的方法来做这件事。非常感谢。我已经这样做了,我很好奇是否有任何特定的方法可以返回它。谢谢大家!@很高兴听到这个。如果你觉得答案有帮助,请把它投上去。else语句不应该把总数设为1吗?是的。你说得对,弗兰克。谢谢
let count=0;

function countMiddleware(req,res,next){
count++;
if(next)next();
}

app.use(countMiddleware);