【问题标题】:Routing in Node & Express: app.use does not work unless full path is providedNode & Express 中的路由:除非提供完整路径,否则 app.use 不起作用
【发布时间】:2014-04-29 10:40:40
【问题描述】:

我有以下设置:

app.use('/', rootRoute);
app.use('/wiki', wikiRoute);

/// default handler
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
});

如果我访问/wiki,我最终会进入wikiRoute,正如预期的那样,但如果我访问/wiki/some/file,它会触发默认处理程序。我希望它也会转到wikiRoute

【问题讨论】:

    标签: node.js express routes


    【解决方案1】:

    处理子路由需要通配符,如下所示:

    app.use('/', rootRoute);
    app.use('/wiki/*', wikiRoute);
    
    /// default handler
    app.use(function(req, res, next) {
        var err = new Error('Not Found');
        err.status = 404;
        next(err);
    });
    

    现在,/wiki/some/file 也以 wikiRoute 结尾!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2013-08-22
      • 2017-06-23
      • 2018-04-20
      • 2019-07-07
      • 1970-01-01
      相关资源
      最近更新 更多