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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM