【工具】路径转换插件path-to-regexp
路径转换插件path-to-regexp
一个用于将路由路径转为正则表达式/解析参数/生成路径的插件工具。
npm-path-to-regexp、github-path-to-regexp
安装
1 | npm i --save-dev path-to-regexp |
使用
1 | import pathToRegexp from 'path-to-regexp' |
其中
- path: String | Array
| regexp - keys: Array, path中的数组标识
- options: Object
- sensitive: Boolean, 正则是否区分大小写,默认false。
- strict: Boolean, 正则是否允许可选的尾随分隔符进行匹配,默认false。
- end: Boolean, 正则是否将与字符串的结尾匹配,默认true。
- start: Boolean, 正则是否将与字符串的开头匹配,默认true。
- delimiter: String, 默认路径分段的分隔符,默认”/“
- endsWith: 可选字符或字符列表,作为“结束”字符处理。
- whitelist: 解析时要考虑分隔符的字符列表,默认undefined(任何字符)
exec()方法
exec()方法用来匹配 url 地址与规则是否相符。
如:
1 | import pathToRegexp from 'path-to-regexp' |
parse()方法
parse()方法用来解析 url 字符串中的参数部分(:id)。
如:
1 | import pathToRegexp from 'path-to-regexp' |
compile()方法
compile()方法用来快速填充 url 字符串的参数值。
如:
1 | import pathToRegexp from 'path-to-regexp' |
路由中的”:”、”?”、”+”、”*”
路径参数”:”
一个“路径参数”使用冒号 “:” 标记,可以传递任何请求路径字串给它。
如
1 | /foo/:bar |
参数可选”?”
用”*”结合路径参数表示此参数可有可无
如
1 | let regexp_3 = pathToRegexp('/foo/:bar?') |
任意匹配”*”
用”*”结合路径参数表示此参数可以接收随意个匹配模式(>=0)
如
1 | let regexp_3 = pathToRegexp('/foo/:bar*') |
至少一个”+”
用”*”结合路径参数表示此参数可以接收至少一个匹配模式(>=1)
如
1 | let regexp_3 = pathToRegexp('/foo/:bar+') |
用处
校验路径
不用说,可见上面的描述
校验路由文件格式
1 | var regexp_4 = pathToRegexp('/icon-:foo(\\d+).png') |
生成根据数据路径
见上述compile()方法
Author
My name is Micheal Wayne and this is my blog.
I am a front-end software engineer.
Contact: michealwayne@163.com