执行路由器时出错
这是我的代码。
server.js
var express = require('express'), bodyParser = require('body-parser'), log = require('./libs/log')(module), api = require('./libs/api.js'), app = express(); // settings app.set('port', 5000); // to process post requests app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); // routes rawQuestionRouter = require('./routes/rawQuestionRoutes.js'); app.use('/rawQuestions', rawQuestionRouter);
和routes / rawQuestionRoute.js:
var express = require('express'); var routes = function() { var rawQuestionRouter = express.Router(); rawQuestionRouter.route('/test') .post(function(request, response) { log.debug(request.body); response.send('raw question saved'); }); return rawQuestionRouter; } module.exports = routes;
更新:
当我在'/ rawQuestions / test'上发出POST请求时,服务器不响应。 为什么?
你正在导出的routes
function,这不是一个路由器(它返回一个,但是这是不一样的)。
有几个解决scheme:
// server.js app.use('/rawQuestions', rawQuestionRouter());
要么:
// routes/rawQuestionRoute.js module.exports = routes();
或者直接删除整个routes
function直接导出路由器实例。