如何将这两个get请求合并为一个?
app.get('/:something/:else', function(req, res){
res.render("something");
});
app.get('/:something', function(req, res){
res.render("something");
});
我尝试过这个并没有用。
app.get('(/:something|/:something/:else)', function(req, res){
res.render("something");
});
答案 0 :(得分:2)
我不是100%肯定,但我认为你可以做到:
'/:something/:else?'
否则,您可以将中间件功能存储在变量中:
var m = function (req, res) { }
app.get('/one', m);
app.get('/two', m);
或者您可以使用正则表达式。
app.get(/^\/commits\/(\w+)(?:\.\.(\w+))?$/, function(req, res){
var from = req.params[0];
var to = req.params[1] || 'HEAD';
res.send('commit range ' + from + '..' + to);
});
Express.js网站上有一些信息:http://expressjs.com/api.html#app.VERB
作者还有一个基于Express.js路由的客户端库,所以也许你可以在那里找到更多信息。那就是我能够做到的地方?'例。该库名为page.js,可以找到:http://visionmedia.github.com/page.js/