gpt4 book ai didi

node.js - 路由器内的路由器

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:15 25 4
gpt4 key购买 nike

是否可以在另一个路由器内部使用路由器。我已经尝试过了

  router.get('/foo', require('path to some express router'));

然后在“一些快速路由器文件”中

  router.get('/bar', function(req, res){...});

问题是,第一个路由器不会从 url 中删除/foo,因此如果我请求/foo/bar,第二个路由器仍会查找/foo/bar,并且/bar 不会被调用。除了 router.get('/foo/bar'... 这对我来说有点无用的解决方案之外,还有其他方法可以解决这个问题吗?

谢谢。

最佳答案

你可以这样做,但你的语法有点不对劲:

在您的主文件中(定义 app 的位置):

app.use('/foo', require('path to some express router'));

在你的路由器文件中:

router.get('/bar', function(req, res){...});

确保从路由器文件中导出路由器对象:

var express = require('express'),
router = express.Router;

router.get('/bar', function(req, res){...});

module.exports = router;

编辑:要按照您的建议使用国际化,您可以在安装点提供此 :locale 替换:

app.use('/:locale', require('path to some express router'));

然后,在您的端点中,您可以调用 req.param('locale')。您可以在应用程序中使用 .use.[verb] 的无限组合。

关于node.js - 路由器内的路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986006/

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