概述
将路径字符串(如/ 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模块所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复