快线不回来
可能是一个愚蠢的错误,但我不明白为什么我没有得到一个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
。
- Express js从URL的根目录获取参数(不像req.params那么简单)
- 使用express.bodyParser()和passport.js
- 使用来自GET请求的数据而无需用户的页面重新加载
- 如何在Express中模拟中间件跳过unit testing的身份validation?
- fs writeFile在应用程序根目录下创build临时文件
- 返回的express err对象不包含err.message
- 如何使用Express / Socket.io在Node.js上使用HTTPS
- 使用node.js和本地promise来构build堆栈跟踪
- “types错误:res.sendStatus不是一个函数”为什么我得到这个错误后有一段时间?