npm 是随着 Node.js 发展而来的一款包管理工具,可以非常方便地来管理前端开发中的各种包。 而 humanuri 是可以将网页中的 URL 转化为人类可读的格式的 npm 包。本文将着重介绍 humanuri 的使用方法。
安装
humanuri 可以直接通过 npm 安装:
npm install humanuri --save
基础用法
humanuri 的基本用法非常简单,只需要调用 humanize() 方法即可将 URL 转化为人类可读的形式。
const humanuri = require('humanuri'); const url = 'https://www.example.com/products?sortBy=popular&filters[]=color:red&filters[]=brand:nike'; const humanizedUrl = humanuri.humanize(url); console.log(humanizedUrl); // 输出:example.com/products/popular-red-nike
从代码可以看出,humanuri 将 URL 去掉了协议和查询参数,并将路径和查询参数分别转化为人类可读的格式。
需要注意的是,humanize() 方法只接收字符串类型的参数。如果传入的不是字符串,会抛出 TypeError 异常。
高级用法
humanuri 包提供了一些高级的选项,可以对 URL 的处理进行自定义。其中包括以下几个选项:
protocol
: 用户自定义协议部分的处理函数。hostname
: 用户自定义域名部分的处理函数。port
: 用户自定义端口部分的处理函数。path
: 用户自定义路径部分的处理函数。query
: 用户自定义查询参数部分的处理函数。
这些选项的使用非常简单,只需要将这些选项所对应的回调函数作为 humanize() 方法的第二个参数传入即可。
-- -------------------- ---- ------- ----- -------- - -------------------- ----- --- - ------------------------------------------------------------------------------------------- ----- ------------ - ---------------------- - --------- ------------------ ------- - ------ ----------------------- -- --------- ------------------ ------- - ------ -------------------------- ---- -- ----- -------------- ------- - -- ----- --- ----- - ------ --- - ---- - ------ --- - ----- - -- ----- -------------- ------- - ------ ------------------- ------------------ ------------------ ----- -- ------ --------------- ------- - ----- ------ - --- --- ------ ----- ------ -- ----------------------------- - -- ---------------------- - --------------- - --- - ----------------- - ---- - --------------- - --- - ------- - - ------ ----------------- - --- -------------------------- -- ----------------------------------------------
从代码可以看出,我们通过自定义回调函数,对协议、域名、端口、路径、查询参数等部分进行了处理,实现了更加自定义化的转换。
需要注意的是,自定义回调函数中的第二个参数 parsed 是一个对象,包含了协议、域名、端口、路径、查询参数等部分的原始值,为我们进行自定义处理提供了更多的数据支持。
总结
humanuri 是一款非常实用的 npm 包,可以方便地将 URL 转换为人类可读的形式。本文介绍了 humanuri 的基础用法和高级用法,希望对前端开发者们有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055eb181e8991b448dc4e4