node.js - 使用express 4.13在单独的文件中路由

标签 node.js express routes

我在 Express 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 后页面刚刚加载,什么也没发生...有人知道出了什么问题吗?

最佳答案

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;

因为您需要在主应用程序上安装一个随时可用的路由器模块。

导出的对象本身需要是一个路由处理程序。

关于node.js - 使用express 4.13在单独的文件中路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36653700/

相关文章:

javascript - Node JS HTTP 代理挂了

javascript - 如何在 NodeRED 中创建自定义注入(inject) Node ?

node.js - Express:组合中间件

javascript - 使用 angularjs 加载多个 View

node.js - AWS 无服务器图像处理程序 - 版本 5 - 在 Node.js 12 上运行的 Lambda 生命周期结束

node.js - 尝试调用方法时获取 "Function: Bound"

node.js - 在服务器上渲染 react

node.js - req.isAuthenticated为false,req.user未定义。我该如何解决?

javascript - Angular Router按钮不触发提交事件

routes - 可选整数参数的 Nancy 路由