Node.js:如何在Express中的所有HTTP请求上执行某些操作?

所以我想做些类似的事情:

app.On_All_Incoming_Request(function(req, res){

console.log('request received from a client.');

});

当前app.all()需要一条路径,例如,如果我给出此路径,/则它仅在我位于主页上时才起作用,因此并不是全部。

在普通的node.js中,就像在创建http服务器之后,在进行页面路由之前编写任何内容一样简单。

那么如何使用Express来做到这一点,最好的方法是什么?

回答:

Express基于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:如果您只想进行一些日志记录,则可以考虑使用Connect提供的记录器)

以上是 Node.js:如何在Express中的所有HTTP请求上执行某些操作? 的全部内容, 来源链接: utcz.com/qa/412058.html

回到顶部