0

我想使用一个 app.use:

app.use(function(req, res, next){
    console.log('%s %s', req.method, req.url);
    next();
});

但它只有在我的代码中没有 app.get 或 app.post 时才有效,如果我有一个 app.use 被忽略。

我想在每次调用 app.get 或 app.use 时执行一个脚本

我也尝试:

app.use(function(req, res, next){
    console.log('%s %s', req.method, req.url);
    app.get('/',function(req,res){console.log('aa')})
    next();
});

在这种情况下,我的 app.get 被忽略

谢谢你的帮助

4

1 回答 1

1

你必须把你app.use()的路由器上面。路由器通常位于 express 配置中,因此只需将您app.use()的放在配置之上。像这样的东西:

app.use(function(req, res, next) {
  console.log('awesome');
  next();
})

app.configure(function(){
  // config
  app.use(app.router);
});

还可以查看logger中的构建。

于 2012-11-19T09:46:39.713 回答