gpt4 book ai didi

javascript - 无法在 Express 4.0 中将路由拆分为单独的文件

转载 作者:行者123 更新时间:2023-11-30 08:42:09 25 4
gpt4 key购买 nike

我正在尝试将所有以 /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 时,没有任何反应,页面一直在加载。

感谢您的帮助!

最佳答案

您没有完全正确地传递 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;

关于javascript - 无法在 Express 4.0 中将路由拆分为单独的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25396592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com