路由中的节点 ExpressJS 路由问题
Node ExpressJS Routes issue in routing
我正在使用 express-generator 生成基本路线。
这是我目前的路线
var express = require('express');
var router = express.Router();
var ctrl = require('../controller/index');
var validation = require("../validations/user");
/* GET home page. */
router.route('/').get(ctrl.index);
router.route('/registerUser').post(validation.registerUser,ctrl.registerUser);
它工作正常。
添加以下路由后
router.route('/loginUser').post(validation.loginUser,ctrl.loginUser);
module.exports = router;
我收到类似
的错误
opt/lampp/htdocs/MedApp/node_modules/express/lib/router/route.js:171
throw new Error(msg);
^
Error: Route.post() requires callback functions but got a [object Undefined]
at /opt/lampp/htdocs/MedApp/node_modules/express/lib/router/route.js:171:15
at Array.forEach (native)
如何在 routes.js 文件中允许更多路由?
求助
您似乎还没有在 index.js 中导出 ctrl.registerUser 函数。
确保你有这样的东西
在validation/user.js
exports.registerUser=function(req,res,next){...};
exports.loginUser=function(req,res,next){...};
在controller/index.js
exports.registerUser=function(req,res){...};
exports.loginUser=function(req,res){...};
错误指出 Route.post() requires a callback
。
您有:
router.route('/loginUser').post(validation.loginUser,ctrl.loginUser);
像这样使用回调函数:
router.post('/loginUser', function(req, res) {
//run your loginUser logic here
});
module.exports = router; //make this file available to other files
我正在使用 express-generator 生成基本路线。
这是我目前的路线
var express = require('express');
var router = express.Router();
var ctrl = require('../controller/index');
var validation = require("../validations/user");
/* GET home page. */
router.route('/').get(ctrl.index);
router.route('/registerUser').post(validation.registerUser,ctrl.registerUser);
它工作正常。
添加以下路由后
router.route('/loginUser').post(validation.loginUser,ctrl.loginUser);
module.exports = router;
我收到类似
的错误opt/lampp/htdocs/MedApp/node_modules/express/lib/router/route.js:171
throw new Error(msg);
^
Error: Route.post() requires callback functions but got a [object Undefined]
at /opt/lampp/htdocs/MedApp/node_modules/express/lib/router/route.js:171:15
at Array.forEach (native)
如何在 routes.js 文件中允许更多路由?
求助
您似乎还没有在 index.js 中导出 ctrl.registerUser 函数。
确保你有这样的东西
在validation/user.js
exports.registerUser=function(req,res,next){...};
exports.loginUser=function(req,res,next){...};
在controller/index.js
exports.registerUser=function(req,res){...};
exports.loginUser=function(req,res){...};
错误指出 Route.post() requires a callback
。
您有:
router.route('/loginUser').post(validation.loginUser,ctrl.loginUser);
像这样使用回调函数:
router.post('/loginUser', function(req, res) {
//run your loginUser logic here
});
module.exports = router; //make this file available to other files