节点和路由中的路由Express:除非提供完整路径,否则app.use不起作用

时间:2014-04-29 10:40:40

标签: node.js express routes

我有以下设置:

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

1 个答案:

答案 0 :(得分:3)

处理子路径需要使用通配符,如下所示:

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

中结束