我试图让一条路线涵盖/foo
包括/foo
自身在内的所有事物。我试过将/foo*
所有东西都用哪一项工作,除非它不匹配/foo
。观察:
var express = require("express"),
app = express.createServer();
app.get("/foo*", function(req, res, next){
res.write("Foo*\n");
next();
});
app.get("/foo", function(req, res){
res.end("Foo\n");
});
app.get("/foo/bar", function(req, res){
res.end("Foo Bar\n");
});
app.listen(3000);
输出:
$ curl localhost:3000/foo
Foo
$ curl localhost:3000/foo/bar
Foo*
Foo Bar
我有什么选择?我想出的最好的方法是路由/fo*
哪个当然不是最佳选择,因为它匹配得太多了。
/foo*
匹配,/foo/bar
但还要匹配/foolish
您可能不想要的匹配。
/foo*
路由,您是否要使其成为中间件?