路线链接在Express V4中不起作用
我使用的是express v4.15.2,npm版本是3.10.10。 在本文中,我尝试使用路径链接,下面是我的代码: route/route.js路线链接在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
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(“/”,路由器)代码>到路由器(应用程序)
现在它工作得很好。