node.js - 捕获部分node.js路由

标签 node.js express

app.get('/users/:userId/profile', ProfileHandler);
app.get('/page/:userId/profile', ProfileHandler);
app.get('/photo/:userId/profile', ProfileHandler);

如果我有上述 3 个路由,如何捕获第一部分以便处理程序知道正在请求什么?我希望将 userspagephoto 作为请求对象的一部分发送到处理程序。

理想情况下,我希望避免使用正则表达式将其设置为单一路由,因为这只是我真实用例的一个简化示例。

最佳答案

如果您由于绑定(bind)而提前知道,为什么不直接将信息传递到那里呢?

app.get('/users/:userId/profile', ProfileHandler.bind(null, 'users'));

function ProfileHandler(pageRoot, req, res, next){
    switch (pageRoot){
        case 'users':

            break;
        case 'page':
            break;
    }
});

关于node.js - 捕获部分node.js路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624620/

相关文章:

javascript - 使用 date-fns 过滤 Sequelize

node.js - Node 生成子进程在 Windows 中不起作用

javascript - 如何将 JSON 对象传递给 EJS javascript 循环?

javascript - Express.js 解析表单主体

node.js - Expressjs session 仅保留在本地主机上

javascript - 有没有办法动态使用 res.render 和 url 参数?

javascript - 找不到主模块中的 WEBPACK5 错误 : Error: Can't resolve './src'

node.js - 如何通过本地网络与 Electron/ express 应用程序共享数据?

node.js - MongoDB - $lookup 和 $aggregate 位于 2 个集合中

node.js - Express:提供预压缩的静态资源