快速路线不归路

时间:2016-08-25 13:12:51

标签: node.js express

可能是一个愚蠢的错误,但我不明白为什么我没有得到GET请求的回复。

这是位于根目录中的服务器文件的一部分:

//server.js
...
var serverRoutes = require('./server/routes');
app.use('/server', serverRoutes);
...

和我的路线档案:

//server/routes/index.js
var express = require('express');
var router = express.Router();

module.exports = function() {
  router.get('/test', function(req, res, next){
    console.log("HIT");
    res.status(200).send("OK");
  });

  return router;
}

每当我在浏览器中导航到/server/test时,它就会停滞不前。终端没有记录任何内容,没有" OK"浏览器收到回复 - 我错过了什么?

1 个答案:

答案 0 :(得分:3)

您的serverRoutes模块导出一个返回路由器的函数。您需要调用它才能将它返回的Router实例传递给app.use

app.use('/server', serverRoutes());

否则,express会将您导出的函数视为中间件,这会导致应用程序挂起,因为它对传递给它的response没有任何作用。