我在快递4.13中有路由问题
这是我的index.js文件:
var express = require("express");
var app = express();
var wagner = require("wagner-core");
var morgan = require('morgan');
app.use(morgan('combined'));
require ('./models')(wagner);
var api = require("./api");
app.use('/api/v1', api);
app.listen(3000, function() {
console.log("Server Started!!!");
});
这是带路线的文件:
var express = require("express");
// var status = require("http-status");
module.exports = function() {
var api = express.Router();
api.get("/category/id/:id", function(req,res){
console.log("TEST")
res.send("TEST");
});
}
在我访问http://localhost:3000/api/v1/category/id/123页面后,只需加载并且没有任何事情发生......任何人都知道什么是问题?
答案 0 :(得分:3)
将var api = express.Router();
移出导出的对象。
var express = require("express");
var api = express.Router();
api.get("/category/id/:id", function(req,res){
console.log("TEST")
res.send("TEST");
});
module.exports = api;
因为您需要在主应用程序上安装即用型路由器模块。
导出的对象本身必须是路由处理程序。
答案 1 :(得分:2)
以下是否有效?
var api = express.Router();
api.get("/category/id/:id", function(req,res){
console.log("TEST")
res.send("TEST");
});
module.exports = api;
答案 2 :(得分:0)
我在代码中发现了问题....我确实没有返回路由器。
内部功能应该是:
return api;