[TOC] <br/><br/><br/> # <b style="color:#4F4F4F;">简介说明</b> 原文链接: - [url](https://github.com/nodejs/node/blob/main/doc/api/url.md) ``` 版本:url 作用:url 模块用于处理与解析 URL ``` <br/> # <b style="color:#4F4F4F;">url</b> <br/> # <span style="color:#619BE4">*parse()</span> ***** 解析url返回URL对象 <br/> # <span style="color:#619BE4">*domainToASCII()</span> ***** 返回 Punycode ASCII 序列化的 domain。 如果 domain 是无效域名,则返回空字符串 <br/> # <span style="color:#619BE4">*domainToUnicode()</span> ***** 返回 Unicode 序列化的 domain。 如果 domain 是无效域名,则返回空字符串。 <br/> # <span style="color:#619BE4">*fileURLToPath()</span> ***** URL转换成文件路径 <br/> # <span style="color:#619BE4">*format()</span> ***** 自定义解析格式,通过参数设置 <br/> # <span style="color:#619BE4">*pathToFileURL()</span> ***** 此函数可确保 path 会被解析为绝对路径,并在转换为文件 URL 时正确编码 URL 控制字符。 <br/> # <span style="color:#619BE4">*resolve()</span> ***** 拼合路径返回绝对的URL路径 <br/> # <b style="color:#4F4F4F;">url.URL</b> <br/> # <span style="color:#619BE4">[new]-URL()</span> ***** 浏览器兼容的 URL 类,根据 WHATWG URL 标准实现 <br/> ### 参数说明 <b style="color:#808080;">input:</b> * 类型:字符串 * 默认值:无 * 描述:要解析的绝对或相对的 URL * 可选值:[ ] <b style="color:#808080;">base:</b> * 类型:字符串 * 默认值:无 * 描述:如果 input 不是绝对路径,则为要解析的基本 URL * 可选值:[ ] <br/> ### 示例内容 <span style="color:red;">1. 举例说明</span> ``` ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ href │ ├──────────┬──┬─────────────────────┬────────────────────────┬───────────────────────────┬───────┤ │ protocol │ │ auth │ host │ path │ hash │ │ │ │ ├─────────────────┬──────┼──────────┬────────────────┤ │ │ │ │ │ hostname │ port │ pathname │ search │ │ │ │ │ │ │ │ ├─┬──────────────┤ │ │ │ │ │ │ │ │ │ query │ │ " https: // user : pass @ sub.example.com : 8080 /p/a/t/h ? query=string #hash " │ │ │ │ │ hostname │ port │ │ │ │ │ │ │ │ ├─────────────────┴──────┤ │ │ │ │ protocol │ │ username │ password │ host │ │ │ │ ├──────────┴──┼──────────┴──────────┼────────────────────────┤ │ │ │ │ origin │ │ origin │ pathname │ search │ hash │ ├─────────────┴─────────────────────┴────────────────────────┴──────────┴────────────────┴───────┤ │ href │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ``` <br/> # <span style="color:#619BE4">hash</span> ***** 获取及设置 URL 的片段部分 <br/> # <span style="color:#619BE4">host</span> ***** 获取及设置 URL 的主机部分 <br/> # <span style="color:#619BE4">hostname</span> ***** 获取及设置 URL 的主机名部分。 url.host 和 url.hostname 之间的区别是 url.hostname 不包含端口 <br/> # <span style="color:#619BE4">href</span> ***** 获取及设置序列化的 URL <br/> # <span style="color:#619BE4">origin</span> ***** 获取只读的序列化的 URL 的 origin <br/> # <span style="color:#619BE4">password</span> ***** 获取及设置 URL 的密码部分 <br/> # <span style="color:#619BE4">pathname</span> ***** 获取及设置 URL 的路径部分。 <br/> # <span style="color:#619BE4">port</span> ***** 获取及设置 URL 的端口部分。 <br/> # <span style="color:#619BE4">protocol</span> ***** 获取及设置 URL 的协议部分 <br/> # <span style="color:#619BE4">search</span> ***** 获取及设置 URL 的序列化查询部分 <br/> # <span style="color:#619BE4">searchParams</span> ***** 获取表示 URL 查询参数的 URLSearchParams 对象 <br/> ### 返回类型 ``` URLSearchParams ``` <br/> # <span style="color:#619BE4">username</span> ***** 获取及设置 URL 的用户名部分 <br/> # <span style="color:#619BE4">toString()</span> ***** 在 URL 对象上调用 toString() 方法将返回序列化的 URL <br/> # <span style="color:#619BE4">toJSON()</span> ***** URL 对象上调用 toJSON() 方法将返回序列化的 URL <br/> # <b style="color:#4F4F4F;">url.URLSearchParams</b> <br/> # <span style="color:#619BE4">[new]-URLSearchParams()</span> ***** 提供对 URL 查询部分的读写权限,和 querystring 模块有相似的目的 <br/> # <span style="color:#619BE4">append()</span> ***** 在查询字符串中附加一个新的键值对 <br/> # <span style="color:#619BE4">delete()</span> ***** 删除所有键为name的键值对。 <br/> # <span style="color:#619BE4">entries()</span> ***** 在查询中的每个键值对上返回一个 ES6 Iterator <br/> # <span style="color:#619BE4">forEach()</span> ***** 在查询字符串中迭代每个键值对,并调用给定的函数 <br/> # <span style="color:#619BE4">get()</span> ***** 返回键是name的第一个键值对的值。如果没有对应的键值对,则返回null。 <br/> # <span style="color:#619BE4">getAll()</span> ***** 返回键是name的所有键值对的值,如果没有满足条件的键值对,则返回一个空的数组。 <br/> # <span style="color:#619BE4">has()</span> ***** 如果存在至少一对键是 name 的键值对则返回 true。 <br/> # <span style="color:#619BE4">keys()</span> ***** 在每一个键值对上返回一个键的 ES6 Iterator。 <br/> # <span style="color:#619BE4">set()</span> ***** 将 URLSearchParams 对象中与 name 相对应的值设置为 value <br/> # <span style="color:#619BE4">sort()</span> ***** 按现有名称就地排列所有的名称-值对 <br/> # <span style="color:#619BE4">toString()</span> ***** 返回查询参数序列化后的字符串,必要时存在百分号编码字符。 <br/> # <span style="color:#619BE4">values()</span> ***** 在每一个键值对上返回一个值的 ES6 Iterator。 <br/>