express.js是否具有可变长度参数? [英] Do express.js has variable length parameters?

查看:53
本文介绍了express.js是否具有可变长度参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如我想要一条像这样的路线:

e.g. I want to have a route like:

/mock/:level1/:level2/(:params)*

匹配

/mock/a/b
/mock/a/b/p1
/mock/a/b/p1/p2
/mock/a/b/p1/p2/p3

并且第4行中的params的值为p1/p2/p3,那么我可以执行params.split("/").

and the value of params in line 4 is p1/p2/p3, then I can do params.split("/").

Flask.py可以做到这一点,这正是我想要的.它是否存在于express.js中?

Flask.py can do this, that exactly what I want. Does it exist in express.js?

@app.route('/wcfmock/<level1>/<level2>/<level3>/<path:params>')
def catch_all(level1, level2, level3, params):
    return 'You want params: %s' % params

推荐答案

Express可以处理此问题.来自 http://expressjs.com/guide.html#routing :

Express handles this. From http://expressjs.com/guide.html#routing :

 "/files/*"
 /files/jquery.js
 /files/javascripts/jquery.js

因此,在您的示例中,(在CoffeeScript中)

So, in your example, (in CoffeeScript)

util = require "util"

app.get '/a/b/c/*', (req, res) ->
  res.json util.inspect(req.params)

假设一个应用程序结构将进入端口8080 ...

assuming an application structure going to port 8080...

http://localhost:8080/a/b/c/d/e/f

将返回

"[ 'd/e/f' ]"

这篇关于express.js是否具有可变长度参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆