zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    [CSS揭秘]扩大可点击区域
    [CSS揭秘]鼠标光标
    [JavaScript语法学习]全面介绍对象
    [JavaScript语法学习]全面介绍函数
    [JavaScript语法学习]全面介绍Array
    [Linux养成计划]Linux简介
    [Redis]Redis安装和使用
    [Python笔记]Python学习笔记三
    Linux_基础_文件权限
    Git_Eclipse:[8]Git分支操作
  • 原文地址:https://www.cnblogs.com/yangguoe/p/9968431.html
Copyright © 2011-2022 走看看