Express app.get无法执行中间件功能

时间:2018-12-17 19:36:55

标签: express middleware

我的express.js应用程序中有一个app.get呼叫,

app.get('/blog', (query, res) => res.send('Hello Blog!'));

我期望发生的事情是,每次有人去example.com/blog时,函数query都会运行,然后是res,这就是“ Hello Blog!”。

进一步查找文件,我具有函数query

function query(req, res, next) {
  console.log('test');
  res.send('ploop!');
  next();
}

我在这里期望的是将某些内容登录到我的终端窗口中,然后是“ ploop!”。记录到窗口,然后next()继续原始请求。 /blog请求如期完成,但是console.log('test');res.send('ploop!);似乎没有执行。

我意识到console.log一定不是在Node / Express中解决/调试这种情况的最佳方法。最终,我试图从函数query产生某种明显的输出,使我知道它正在工作(或不工作)。

2 个答案:

答案 0 :(得分:0)

初始化快递服务器后,您是否要声明app.use(query)

答案 1 :(得分:0)

要使用该中间件,您无需像使用重命名那样对参数进行重命名,请执行以下操作:

app.get('/blog', query, (req, res) => res.send('Hello Blog!'));

它作为参数传递给app.get