我已经实施了多条路线,并希望明确达到默认路线,如下所示:
app.get('/', function(req,res,next){
console.log('default route');
// Do some work
next('route');
}
不幸的是,这条路线永远不会到达,表达简单地通过它。但是,当我稍微改变路线时,它会匹配,如下所示:
app.get('/:bogus', function(req,res,next){
...
next('route');
}
为什么需要额外的特异性?为什么不表示始终匹配' /'?
答案 0 :(得分:0)
/
不是默认路由。它是/
的路由,仅/
(查询字符串除外)。
/:bogus
是/something
的路由,其中“something”是客户在请求中放置的内容。
答案 1 :(得分:0)
app.get()
处理特定路径,http://localhost:8080/
相当于/
/:bogus
是针对网址参数的,当您输入类似以下内容时它是等效的:http://localhost:8080/HelloWorld
app.get('/:bogus', function(req, res){
//console.log("Value is :"+req.params.bogus);
res.send("Value is : "+req.params.bogus);
});
在最后一行中,您可以添加此方法,当您输入路线中未定义的网址时,默认情况下会调用此方法
// After all your routes...
//Page Not Found
app.use(function(req, res){
res.sendStatus(404);
});