我有一条看起来像这样的路线:
app.all('/path/:namedParam/*splat?',function(req,res,next){ if(!req.params.length){ // do something when there is no splat } else { // do something with splat } });
但是,这行不通-如果我打电话,path/foo/bar它会到达路线,但是如果我打电话path/foo,它不会。
path/foo/bar
path/foo
是否可以有一个可选的splat参数,或者我必须使用正则表达式来检测到这一点?
编辑 :
更清楚地说,这是我要达到的要求:
这适用于Express 4上的/ path和/ path / foo,请注意*before ?。
*
?
router.get('/path/:id*?', function(req, res, next) { res.render('page', { title: req.params.id }); });