Подтвердить что ты не робот

Node.js: Как сделать что-то во всех HTTP-запросах в Express?

Итак, я хотел бы сделать что-то вроде:

app.On_All_Incomeing_Request(function(req, res){
    console.log('request received from a client.');
});

для текущего app.all() требуется путь, и если я приведу, например, это /, тогда он работает только тогда, когда я нахожусь на главной странице, так что это не все.

В обычном node.js это так же просто, как писать что-либо после создания http-сервера и до того, как мы выполним маршрутизацию страницы.

Итак, как это сделать с помощью выражения, и что это лучший способ сделать это?

4b9b3361

Ответ 1

Экспресс основан на Connect промежуточном программном обеспечении.

Возможности маршрутизации Express предоставляются router вашего приложения, и вы можете добавлять свои собственные посредники в свое приложение.

var app = express.createServer();

// Your own super cool function
var logger = function(req, res, next) {
    console.log("GOT REQUEST !");
    next(); // Passing the request to the next handler in the stack.
}

app.configure(function(){
    app.use(logger); // Here you add your logger to the stack.
    app.use(app.router); // The Express routes handler.
});

app.get('/', function(req, res){
    res.send('Hello World');
});

app.listen(3000);

Это просто.

(PS: Если вам просто нужен какой-то журнал, вы можете использовать logger, предоставленный Connect)