快线不回来
可能是一个愚蠢的错误,但我不明白为什么我没有得到一个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.use
的Router
实例:
app.use('/server', serverRoutes());
否则,express会将你的导出函数当作一个中间件,这会导致应用程序挂起,因为它不会传递给它的response
。