我是靠谱客的博主 怡然云朵,这篇文章主要介绍Path-to-RegExp模块,现在分享给大家,希望可以做个参考。

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

path-to-regexp 介绍

安装模块

复制代码
1
npm install path-to-regexp --save

简单的使用

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 引入模块 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保存的是路由参数
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 引入模块 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: '[^\/]+?' } ]
  • 使用路由拿到返回值
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 条评论

立即
投稿
返回
顶部