Path-to-PegExp的使用

下载:

1 npm install path-to-regexp --save

引入:

var pathToRegexp = require('path-to-regexp')
或者
import pathToRegexp from 'path-to-regexp'

API介绍:

1.pathToRegexp() 作用:将我们输入的url输出为匹配规则;

1 var re = pathToRegexp('/foo/:bar')
2 console.log(re)

打印结果:

1 /^\/foo\/((?:[^\/]+?))(?:\/(?=$))?$/i

要注意两点,一点是我们自己的 url 地址,一条是匹配规则。

2.exec():匹配url和规则是否相等

 1 var pathToRegexp = require('path-to-regexp')
 2 
 3 var re = pathToRegexp('/foo/:bar');     // 匹配规则
 4 var match1 = re.exec('/test/route');    // url 路径
 5 var match2 = re.exec('/foo/route');     // url 路径
 6 
 7 console.log(match1);
 8 console.log(match2);

打印结果:

1 null
2 [ '/foo/route', 'route', index: 0, input: '/foo/route' ]

说明:第一个路径与匹配规则不相符,所以返回null;第二个url与匹配规则相符,返回一个数组;

3.parse()  解析url字符串中的参数部分(:id)

1 var pathToRegexp = require('path-to-regexp');
2 var url = '/user/:id';
3 console.log(pathToRegexp.parse(url));

解析结果:

1 [ '/user',
2   { name: 'id',
3     prefix: '/',
4     delimiter: '/',
5     optional: false,
6     repeat: false,
7     partial: false,
8     pattern: '[^\\/]+?' } ]

说明,返回一个数组,从第二个数据可以得到url地址携带参数的属性名称(item.name)

4.compile():快速填充url字符串的参数值

1 var pathToRegexp = require('path-to-regexp')
3 var url = '/user/:id/:name'
4 var data = {id: 10001, name: 'bob'}
5 console.log(pathToRegexp.compile(url)(data))

打印结果:

1 /user/10001/bob

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值