ExpressJSvariables最后的参数数量
我希望我的快速应用程序与file/a
和file/a/b/c
匹配请求, file/a
后面的variables数目至less为1。
我试过这个:
app.get('/file/:path?*', function(req,res){ res.send(req.params.path); });
但结果是:
$ curl localhost:3000/file/a a $ curl localhost:3000/file/a/b a
如何通过不使用req.query.splice(1)
来获取整个查询? 我希望代码更具可读性,这种拼接在维护时很容易被遗忘。
看看他们的文档 ,有一条关于它的文字 :
正则expression式也可以使用,如果你有非常特殊的限制,比如“GET / commits / 71dbb9c”以及“GET /commits/71dbb9c..4c084f9”。
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); });
这应该可以解决你的问题:)
- 将parameter passing给package.json中的npm脚本
- Nodejs,如何在PUG / jade视图中将parameter passing给Javascript
- mongodb将parameter passing给集合查找
- 是否需要将相同数量的parameter passing到函数中定义的javascript函数中
- 使用settings参数在节点下运行meteorbuild造
- 将其他parameter passing给路由(expressjs)
- 通过webpack和渲染编译之前,将一个参数从Express路由器传递给React
- 如何使用node.js中的参数获取HTTP请求?
- 节点js接收多个消息参数未定义