📜  Node.js URL() 方法(1)

📅  最后修改于: 2023-12-03 15:33:10.104000             🧑  作者: Mango

Node.js URL() 方法

在 Node.js 中,可以使用 URL() 方法将 URL 字符串解析为 URL 对象。这个方法可以对 URL 进行解析、处理和操作。

语法
new URL(input[, base])

其中,input 是要解析的 URL 字符串,base 是一个可选的 URL 字符串,用于指定上下文 URL。

使用方法

下面是一个简单的例子,可以使用 URL() 方法解析 URL:

const { URL } = require('url');
const myURL = new URL('https://nodejs.org/dist/latest-v14.x/docs/api/url.html#url_the_whatwg_url_api');
console.log(myURL.host);
// 输出:nodejs.org

首先导入 Node.js 的 url 模块,然后调用 URL() 方法并传入要解析的 URL 字符串,最后可以使用 URL 对象的属性来访问 URL 的各种部分。

在上面的例子中,myURL.host 属性返回 URL 的主机名或 IP 地址("nodejs.org"),这是 URL 对象的一个属性。

方法和属性

以下是使用 URL() 方法创建的 URL 对象的一些常用方法和属性:

URL 对象的方法

href

获取或设置 URL 对象的完整 URL。

console.log(myURL.href);
// 输出:https://nodejs.org/dist/latest-v14.x/docs/api/url.html#url_the_whatwg_url_api

toString()

在 URL 对象上调用 toString() 方法可以返回 URL 字符串。

console.log(myURL.toString());
// 输出:https://nodejs.org/dist/latest-v14.x/docs/api/url.html#url_the_whatwg_url_api

searchParams

获取或设置 URL 查询参数。

const searchParams = myURL.searchParams;
searchParams.append('newParam', 'hello');
console.log(searchParams.toString());
// 输出:'newParam=hello'
URL 对象的属性

protocol

获取或设置 URL 的协议("https:")。

console.log(myURL.protocol);
// 输出:https:

host

获取或设置 URL 的主机名或 IP 地址("nodejs.org")。

console.log(myURL.host);
// 输出:nodejs.org

hostname

获取或设置 URL 的主机名("nodejs.org")。

console.log(myURL.hostname);
// 输出:nodejs.org

port

获取或设置 URL 的端口号("")。

console.log(myURL.port);
// 输出:

pathname

获取或设置 URL 的路径名和文件名("/dist/latest-v14.x/docs/api/url.html")。

console.log(myURL.pathname);
// 输出:/dist/latest-v14.x/docs/api/url.html

search

获取或设置 URL 的查询字符串("?#url_the_whatwg_url_api")。

console.log(myURL.search);
// 输出:?#url_the_whatwg_url_api

hash

获取或设置 URL 的片段标识符("#url_the_whatwg_url_api")。

console.log(myURL.hash);
// 输出:#url_the_whatwg_url_api
总结

URL() 方法是 Node.js 中用于处理 URL 的基础方法之一。使用它能够轻松地解析和处理 URL,同时还可以扩展 URL 对象的属性和方法,使其具有更丰富更灵活的功能。