【发布时间】:2021-04-27 13:17:22
【问题描述】:
在下面的代码中,如果我把它作为app.use() 的第一个参数,middleware logger() 会被调用两次,但如果作为第二个参数,它根本不会被调用。
有人能解释一下发生了什么吗?
const express = require('express');
const app = express();
const path = require('path');
app.use(express.static(path.join(__dirname,'public')), logger);
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
function logger(req, res, next) {
console.log("logger, then next");
next();
}
【问题讨论】:
-
只需为每个请求记录
req.urlinlogger(),一切都会变得清晰。
标签: javascript node.js express server middleware