路线链接在Express V4中不起作用

路线链接在Express V4中不起作用,express,controller,routes,Express,Controller,Routes,我使用的是express v4.15.2,npm版本是3.10.10。 在本文中,我尝试使用路径链接,下面是我的代码: route/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/us

我使用的是express v4.15.2,npm版本是3.10.10。 在本文中,我尝试使用路径链接,下面是我的代码:

route/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);
};
var express=require('express');
var app =express();

exports.login=function(req,res,next){

res.json({"msg":"Hello"});

};
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');
});
控制器/controller.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);
};
var express=require('express');
var app =express();

exports.login=function(req,res,next){

res.json({"msg":"Hello"});

};
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');
});
server.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);
};
var express=require('express');
var app =express();

exports.login=function(req,res,next){

res.json({"msg":"Hello"});

};
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没有被点击,甚至日志也没有显示任何错误

请帮我解决这个问题


谢谢

您希望导出应用程序,而不是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;

也要考虑如果你真的需要你的路线中的所有应用程序的功能。也许你应该改用路由器对象。在这种情况下,您只需更改为:

var express=require('express');
var router=express.Router();

var user=require('../controller/controller');

router.route('/api/user').get(user.login);

module.exports = router;

您想这样使用它吗:
app.route('/api/user').get(user.login).post(user.update).delete(user.remove)等?是的,我想要sameYes,我尝试了同样的方法,但对我来说也不起作用。你确定你有正确的路线吗?路由器=需要('./模块/路由/路由');?根据你的描述应该是('./路线/路线)。我的问题已经解决了。我必须在
server.js
上进行更改。我替换了
app.use(“/”,路由器)
路由器(应用程序)
现在它工作得很好。