Node 内置库 - url 详解
介绍下 const url = require("url");
的用法和作用
首先 const url = require("url")
是在 Node.js 环境中使用的核心模块之一。它提供了处理和操作 URL 的功能。
下面是 url
模块的常见用法和作用:
1. 解析 URL
url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
:将指定的 URL 字符串解析为一个 URL 对象,并返回该对象。可以通过设置
parseQueryString
参数来控制是否将查询字符串解析为对象,默认为false
。设置
slashesDenoteHost
参数指定了斜线(/
)是否表示主机,默认为false
。
2. 构建 URL
url.format(urlObject)
:将一个 URL 对象格式化为字符串,并返回该字符串。url.resolve(from, to)
:根据基础 URLfrom
和给定的链接to
,生成一个新的完整的 URL。
3. URL 对象的属性和方法
urlObject.href
:完整的 URL 字符串。urlObject.protocol
:URL 协议部分。urlObject.host
:URL 主机部分。urlObject.hostname
:URL 主机名部分。urlObject.port
:URL 端口部分。urlObject.pathname
:URL 路径部分(常用)。urlObject.search
:URL 查询字符串部分。urlObject.query
:已解析的查询字符串对象。urlObject.hash
:URL 哈希部分。
url
模块提供了对 URL 进行解析、构建以及访问各个组成部分的能力。通过使用该模块,您可以方便地处理 URL 相关的操作,例如解析 URL 参数、拼接 URL、访问 URL 的各个部分等。
以下是一个 url
模块的示例使用方式:
javascript
const url = require("url");
const urlString = "https://example.com/path?param1=value1¶m2=value2";
// 解析 URL
const parsedUrl = url.parse(urlString, true);
console.log(parsedUrl);
// 访问 URL 对象的属性
console.log(parsedUrl.host); // 输出 'example.com'
console.log(parsedUrl.query); // 输出 { param1: 'value1', param2: 'value2' }
// 构建 URL
const newUrl = url.format(parsedUrl);
console.log(newUrl); // 输出 'https://example.com/path?param1=value1¶m2=value2'
上述示例演示了如何使用 url
模块解析 URL、访问 URL 对象的属性以及构建 URL。