代码之家  ›  专栏  ›  技术社区  ›  Max Koretskyi

如何不触发路由器中间件

  •  0
  • Max Koretskyi  · 技术社区  · 8 年前

    表达状态 here 即:

    路由将匹配紧随其路径之后的任何路径 /. 例如:app。使用(‘/apple’,…)将匹配/apple, /苹果/images、/apple/images/news等等。

    因此,假设我有两个路由器中间件功能:

    app.get('/apple', function() {});
    app.get('/apple/images', function() {});
    

    请求是

    GET http://domain.com/apple/images
    

    所以我希望我的第二个函数处理请求,但据我所知,第一个函数也将被调用,对吗?有没有办法跳过第一个?我知道我可以打电话 next() 从第一个函数:

    app.get('/apple', function(req,res,next) {next()});
    

    但这真的是应该怎么做吗?我应该使用 next('router') 在这种情况下?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Paul    8 年前

    秩序很重要。首先定义较长的路径,您将获得所需的行为。