【发布时间】:2019-06-03 19:38:53
【问题描述】:
我想知道有没有办法用Expressjs获取特定路径中的请求总数?
【问题讨论】:
-
为什么不维护一个计数器变量并在路由内部执行
counter++? @Nicekor
标签: javascript node.js express server backend
我想知道有没有办法用Expressjs获取特定路径中的请求总数?
【问题讨论】:
counter++? @Nicekor
标签: javascript node.js express server backend
为什么不自己数呢?
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] = 1;
}
console.log(req.originalUrl, counter);
next();
};
app.use(visits);
【讨论】:
let count=0;
function countMiddleware(req,res,next){
count++;
if(next)next();
}
app.use(countMiddleware);
function countMiddleware 充当中间件,因此它将为每个请求执行。count 变量会随着服务器上记录的每个请求而递增
【讨论】: