我使用的是express v4.15.2,npm版本是3.10.10。 在这里我试图使用下面的路由链接是我的代码:
路线/ route.js
var express=require('express');
var router=express.Router();
var app=express();
var user=require('../controller/controller');
module.exports=function(app){
app.route('/api/user').get(user.login);
};
控制器/ controller.js
var express=require('express');
var app =express();
exports.login=function(req,res,next){
res.json({"msg":"Hello"});
};
server.js
var express=require('express');
var app =express();
var router=require('./module/route/route');
app.use('/',router);
app.listen(3000,function(req,res){
console.log('Server Started');
});
以上给出的是我的路线和控制器代码。我正在尝试创建一个路由链,以便在单个API get
上使用方法post
,put
,delete
,/api/user
。
但它没有用,我的api没有被击中,甚至日志也没有显示任何错误。
请帮我解决这个问题。
由于
答案 0 :(得分:0)
您可能希望导出app,而不是route.js中的匿名函数。
var express=require('express');
var router=express.Router();
var app=express();
var user=require('../controller/controller');
app.route('/api/user').get(user.login);
module.exports = app;
此外,请考虑您是否真的需要路线中应用程序中的所有功能。也许您应该使用Router对象。在这种情况下,您只需更改为:
var express=require('express');
var router=express.Router();
var user=require('../controller/controller');
router.route('/api/user').get(user.login);
module.exports = router;