在 Node.js 中,URL 对象是一个内置类,用于解析和操作 URL 字符串。URL 对象具有多个属性,这些属性提供了对 URL 不同部分的访问。以下是URL对象的一些主要属性及其含义:
(1)href
返回完整的 URL 字符串。
(2)origin
返回 URL 的源,包括协议、域名和端口(如果有的话)
(3)protocol
返回 URL 的协议部分,例如 http: 或 https:
(4)username
返回 URL 的用户名部分(如果存在的话),通常在 @ 符号之前
(5)password
返回 URL 的密码部分(如果存在的话),通常在 @ 符号之后,与用户名一起
(6)host
返回 URL 的主机名和端口(如果有的话),不包括协议
(7)hostname
返回 URL 的主机名部分,不包括端口
(8)port
返回 URL 的端口号部分(如果存在的话)
(9)pathname
返回 URL 的路径部分,从域名后的第一个斜杠 / 开始,到最后一个斜杠(如果存在的话)或 URL 结束之前的部分。
(10)search
返回 URL 的查询字符串部分,包括开头的 ? 符号
(11)query
返回 URL 的查询字符串部分,不包括开头的 ? 符号
(12)hash
返回 URL 的哈希部分,包括开头的 # 符号
这些属性提供了对 URL 不同部分的直接访问,使得在 Node.js 中解析和操作 URL 变得简单方便。通过使用 ES6 的解构赋值语法,我们可以更简洁地提取这些属性的值并赋值给变量
代码示例:
const urlString = 'http://user:password@example.com:8080/path?name=value#hash';
const { href, origin, protocol, username, password, host, hostname, port, pathname, search, query, hash } = new URL(urlString);
console.log(href); // 'http://user:password@example.com:8080/path?name=value#hash'