@egoist/path-parser
This module is entirely extracted from vue-router, it's basically a light-weight version of path-to-regexp with path ranking support.
Install
npm i @egoist/path-parser
Usage
Create a path parser:
import { createParser } from '@egoist/path-parser'
const parser = createParser('/user/:user')
parser.parse('/user/egoist')
//=> { user: 'egoist' }
// `null` if not matched
Sort paths by ranking:
import { comparePathParserScore, createParser } from '@egoist/path-parser'
const paths = ['/:user', '/about']
paths.sort((a, b) => {
return comparePathParserScore(createParser(a), createParser(b))
})
//=> [ '/about', '/:user' ]
Credits
The code is extracted from vue-router, all credits to its author @posva. The code might differ from the upstream in the future.
License
MIT © EGOIST
关于 @egoist/path-parser 的常见问题
@egoist/path-parser 是什么?
A robust and light-weight path-to-regexp alternative
如何安装 @egoist/path-parser?
在项目目录运行 npm install @egoist/path-parser,或使用 pnpm add / yarn add / bun add。
@egoist/path-parser 支持 TypeScript 吗?
支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@egoist/path-parser 支持 ESM 还是 CommonJS?
同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。
@egoist/path-parser 可以商用吗?
@egoist/path-parser 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。
@egoist/path-parser 的下载量有多少?
根据 npm 官方下载统计,@egoist/path-parser 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,850 次,日均约 128 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@egoist/path-parser 还在维护吗?
最新版本 1.0.6 发布于 2021/04/04(5 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/03/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。