Когда я использую foo
объявление функции в app.use
в качестве промежуточного программного обеспечения, компилятор, похоже, не распознает req, res, next
переменные:
var express = require('express');
var path = require('path');
var app = express();
function foo (req, res, next){ // the middleware
console.log(req.path);
}
app.use('/', foo(req, res, next)); //ReferenceError: req is not defined
app.use('/', express.static("./public"));
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
Для сравнения, если я использую объявление функции внутри app.use
код работает как задумано:
var express = require('express');
var path = require('path');
var app = express();
app.use('/', function(req, res, next){
console.log(req.path);
}); //ReferenceError: req is not defined
app.use('/', express.static("./public"));
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
Моего понимания недостаточно, чтобы понять, почему это ошибка