推荐答案
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
// www.javascriptcn.com code example
const url = require('url');
const myURL = url.format({
protocol: 'https:',
hostname: 'example.com',
port: 8080,
pathname: '/path',
query: { query: 'string' },
hash: '#hash'
});
console.log(myURL);本题详细解读
解析 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。