获取 Express 中的请求数
Posted
技术标签:
【中文标题】获取 Express 中的请求数【英文标题】:Get the number of Requests in Express 【发布时间】:2019-06-03 19:38:53 【问题描述】:我想知道有没有办法用Expressjs获取特定路径中的请求总数?
【问题讨论】:
为什么不维护一个计数器变量并在路由内部执行counter++
? @Nicekor
【参考方案1】:
为什么不自己数呢?
let pingCount = 0;
app.get('/ping',(req, res) =>
pingCount++;
res.send(`ping world for $pingCount times`);
);
【讨论】:
我就是这样做的,很好奇是否有任何具体的方法可以做到这一点。谢谢!【参考方案2】:我创建了一个中间件,该中间件将附加所有路由并计算访问次数。把它放在 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] = 1;
console.log(req.originalUrl, counter);
next();
;
app.use(visits);
【讨论】:
我已经这样做了,很好奇是否有任何特定的方法可以返回它。谢谢! @Nicekor 很高兴听到这个消息。如果您觉得答案有帮助,请点赞。 else语句不应该将总数设置为1吗?【参考方案3】:let count=0;
function countMiddleware(req,res,next)
count++;
if(next)next();
app.use(countMiddleware);
function countMiddleware 充当中间件,因此它将为每个请求执行。count 变量会随着服务器上记录的每个请求而递增
【讨论】:
以上是关于获取 Express 中的请求数的主要内容,如果未能解决你的问题,请参考以下文章