node:url
是 Node.js 核心模块之一,提供了一些实用工具来处理和解析 URL。以下是 url
模块的一些主要功能和方法:
-
url.parse(urlString[, parseQueryString[, slashesDenoteHost]]):
- 将 URL 字符串转换为 URL 对象。
- 如果
parseQueryString
为true
,则查询字符串将被解析为一个对象。 - 如果
slashesDenoteHost
为true
,则//foo/bar
会被解析为{ host: 'foo', pathname: '/bar' }
而不是{ pathname: '//foo/bar' }
。
-
url.format(urlObject):
- 从给定的 URL 对象返回格式化的 URL 字符串。
-
url.resolve(from, to):
- 使用基本 URL
from
解析目标 URLto
。
- 使用基本 URL
-
url.URL 类:
- 该类提供了一种更现代的方式来处理URLs,包括使用新的 WHATWG URL 标准。
- 示例:
const myURL = new URL('/foo', 'https://example.org/');
-
url.domainToASCII(domain):
- 将 Unicode 域名转换为 ASCII 形式。这是为了支持国际化域名 (IDN)。
-
url.domainToUnicode(domain):
- 将 ASCII 域名转换为 Unicode 形式。
由于 Node.js 的迭代发展,新的 WHATWG URL API 被引入以与浏览器中的 URL 类相一致。这使得在 Node.js 和浏览器环境中处理 URL 更为一致。
总的来说,node:url
模块提供了一套强大的工具,使开发者可以在 Node.js 环境中更容易地操作和解析 URL。