我是靠谱客的博主 怡然云朵,最近开发中收集的这篇文章主要介绍Path-to-RegExp模块,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

将路径字符串(如/ user /:name)转换为正则表达式。

path-to-regexp 介绍

安装模块

npm install path-to-regexp --save

简单的使用

// 引入模块
let PathToReg = require('path-to-regexp')
// 要使用路径中找到的键填充的数组
let keys = []

let reg = PathToReg('/user/:id', keys, {end: false})
// 打印结果
console.log(reg) // /^/user(?:/(?=$))?(?=/|$)/i

// end = false 不必须结束
console.log(reg.test('/user')) // true
console.log(reg.test('/user/1')) // true

// end = true 必须结束
let reg = PathToReg('/user', keys, {end: true})
console.log(reg.test('/user')) // true
console.log(reg.test('/user/1')) // false

  • keys保存的是路由参数
// 引入模块
let PathToReg = require('path-to-regexp')
// 要使用路径中找到的键填充的数组
let keys = []

let reg = PathToReg('/user/:id', keys, {end: false})
console.log(keys) 
// 打印效果如下
[ 
    {
        name: 'id',
        prefix: '/',
        delimiter: '/',
        optional: false,
        repeat: false,
        partial: false,
        pattern: '[^\/]+?'
    }
]
  • 使用路由拿到返回值
let reg = PathToReg('/user/:id/:name', keys, {end: false})
// console.log(keys)
let result = '/user/1/hello'.match(reg)
// console.log(result) 
// [ '/user/1/hello', '1', 'hello', index: 0, input: '/user/1/hello' ]
let names = keys.map(key => key.name)
// console.log(names) // [ 'id', 'name' ]

// 对一个数组进行处理
let parmas = names.reduce((memo, name, idx) => {
    memo[name] = result[idx + 1]
    return memo
}, {})

console.log(parmas) // { id: '1', name: 'hello' }

结束

这是简单的组件使用,具体更详细的使用方法,可以走传送门

最后

以上就是怡然云朵为你收集整理的Path-to-RegExp模块的全部内容,希望文章能够帮你解决Path-to-RegExp模块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部