【问题标题】:Unable to Split Routes into Separate Files in Express 4.0无法在 Express 4.0 中将路由拆分为单独的文件
【发布时间】:2014-08-20 04:10:36
【问题描述】:

我正在尝试将所有以/api 结尾的路由重定向到manager.js,然后将其路由到/me

因此,对/me 的完全限定请求应类似于/api/me。在 Express 3.x 中将路由拆分为单独的文件很容易,但在 4.0 中我遇到了麻烦。

app.js

app.use('/api',require('./routes/manager'));

ma​​nager.js

var express = require('express');
var manager = express.Router();
module.exports = function() {    
    manager.use('/me',require('../routes/me'));
};

me.js

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

module.exports = function() {

    me.route('/')
        .get(function(req,res){
            res.send("Welcome to Me");
    });

};

当我转到localhost:8080/api/me 时,没有任何反应,页面继续加载。

感谢您的帮助!

【问题讨论】:

  • 我可能错了,但不应该还是manager.use('/api/me', ...

标签: javascript node.js express


【解决方案1】:

您没有完全正确地通过 Router 对象。请记住,这是您正在尝试做的事情:

app.use('/api', express.Router());

但是你现在正在做的事情是这样的:

app.use('/api', function(){
    express.Router()
});

因此,您应该导出 Router 本身,而不是导出函数。

ma​​nager.js

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

manager.use('/me',require('../routes/me'));

module.exports = manager;

me.js

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

me.route('/').get(function(req,res){
    res.send("Welcome to Me");
});

module.exports = me;

【讨论】:

    猜你喜欢
    • 2018-06-24
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多