gpt4 book ai didi

javascript - Express.js - 管理所有路线的单一路线文件

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

我对 express.js 有点陌生,还没有找到与我的问题匹配的答案。

我有一个 express 应用,其文件夹结构如下:

app/
|--app.js
|--routes/
|--|--index.js
|--|--news.js
|--|--users.js
|--some_other_folders/

至于现在,我已经在 app.js 中管理了我的路线,如下所示:

var index = require('./routes/index');
var users = require('./routes/users');
...
app.use('/', index);
app.use('/users', users);
...

这很好用,但我本来想用一个文件来管理我所有的路由,所以我只需要在 app.js 中引用这个文件。

像这样:

[app.js]
var routes = require('./routes/routes');
app.use('/', routes);


[routes/routes.js]
...
router.get('/', function(req, res) {
res.render('index.html');
});

require('./users'); // This is meant to refer to the users routes
...

有没有办法将我的其他路由文件(如用户、新闻等)包含到“主”路由文件中?

或者是否有其他最佳实践来管理 express.js 中的路由?

非常感谢您的帮助!

最佳答案

是的,有很好的方法可以做到这一点

[app.js]
var routes = require('./routes/routes')(app);

[routes/routes.js]
var user = require('./user'); // get user controllers

module.exports = function(app) {
app.get('/', function() { ... });
app.get('/another-path', function() { ... });

app.get('/user/:id', user.display);
app.post('/user/:id', user.update);
};
[routes/user.js]
module.exports.display = function(req, res) {
...
res.render('user', data);
}
module.exports.update = function(req, res) {
...
res.render('user', data);
}

关于javascript - Express.js - 管理所有路线的单一路线文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25328766/

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