快线不回来

可能是一个愚蠢的错误,但我不明白为什么我没有得到一个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它只是停滞不前。 terminal上没有任何logging,浏览器中没有收到“OK”响应 – 我错过了什么?

你的serverRoutes模块导出一个返回路由器的函数。 你需要调用它来传递它返回给app.useRouter实例:

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

否则,express会将你的导出函数当作一个中间件,这会导致应用程序挂起,因为它不会传递给它的response