推荐答案
Node.js 的 url
模块用于解析和格式化 URL。它提供了多种方法来处理 URL 字符串,包括解析 URL 的各个部分(如协议、主机名、路径等)以及将对象格式化为 URL 字符串。
解析 URL
const url = require('url'); const myURL = url.parse('https://example.com:8080/path?query=string#hash'); console.log(myURL);
格式化 URL
-- -------------------- ---- ------- ----- --- - --------------- ----- ----- - ------------ --------- --------- --------- -------------- ----- ----- --------- -------- ------ - ------ -------- -- ----- ------- --- -------------------
本题详细解读
解析 URL
url.parse()
方法用于将一个 URL 字符串解析为一个 URL 对象。解析后的对象包含以下属性:
protocol
: URL 的协议部分(如https:
)。host
: URL 的主机部分(如example.com:8080
)。hostname
: URL 的主机名部分(如example.com
)。port
: URL 的端口部分(如8080
)。pathname
: URL 的路径部分(如/path
)。search
: URL 的查询字符串部分(如?query=string
)。query
: URL 的查询参数部分(如query=string
或解析后的对象)。hash
: URL 的片段部分(如#hash
)。
格式化 URL
url.format()
方法用于将一个 URL 对象格式化为一个 URL 字符串。它接受一个包含 URL 各部分属性的对象,并返回一个完整的 URL 字符串。
使用场景
- 解析 URL: 当你需要从 URL 字符串中提取特定部分(如路径、查询参数等)时,可以使用
url.parse()
。 - 格式化 URL: 当你需要将 URL 对象转换为字符串时,可以使用
url.format()
。
注意事项
- 在 Node.js 10.0.0 及以上版本中,
url.parse()
和url.format()
已被标记为遗留 API,推荐使用URL
类和URLSearchParams
类来处理 URL。