我是expressjs的新手,对expressjs中的路由和这些概念了解不多。在阅读它时,我看到可以设置像
这样的路线route1 = app.get("/:param",callback)
其中param将成为路由参数变量,所有这样的get请求如:“/ foo”或“/ bar”将对应于该路由。
我的问题是:我现在可以有一条路线
route2 = app.get("/param", callback)
或
app.get("/anyOtherRoute",callback)
如果是这样,我怎么知道请求是针对route1而不针对route2(反之亦然)?
答案 0 :(得分:5)
你真的没有。但您可以按顺序定义路线,以便anyOtherRoute
具有不同的行为。
例如:
app.get('/anyOtherRoute', doFoo);
app.get('/:param', doBar);
如果doFoo
在没有致电next()
的情况下终止了请求,那么我认为您正在寻找分离。
doFoo
将首先被调用,因为express
按照定义并添加到应用程序的顺序遍历路径。