Module 基础模块

模块 url

url 处理模块,url 模块提供了 Url 类,用于处理 URL 相关的操作,包括解析、组装、拼接等

Url 类的常用属性和方法如下:

属性:

  • href:返回完整的 URL 字符串。
  • protocol:URL 的协议部分。
  • host:URL 的主机部分。
  • auth:URL 的认证部分。
  • hostname:URL 的主机名部分。
  • port:URL 的端口部分。
  • pathname:URL 的路径部分。
  • search:URL 的查询参数字符串。
  • hash:URL 的 hash 部分。

方法:

  • resolve(from, to):将解析 to(或 to 与 from 的组合)为一个绝对 URL,并返回解析后的 URL 对象。
  • parse(urlString):将 URL 字符串解析为 URL 对象并返回该对象。
  • format(urlObject):将 URL 对象格式化为 URL 字符串并返回。

下面是一个 url 模块的示例:

1 2 3 4 5 6 7 8 9 10 11
const { URL } = require('url'); const url = new URL('http://www.baidu.com/s?ie=UTF-8&wd=fibjs#hash'); console.log(url.protocol); // 'http:' console.log(url.host); // 'www.baidu.com' console.log(url.path); // '/s?ie=UTF-8&wd=fibjs' console.log(url.hash); // '#hash' console.log(url.href); // 'http://www.baidu.com/s?ie=UTF-8&wd=fibjs&query=fibjs#hash'

在这个例子中,我们演示了如何使用 url 模块来解析 url 字符串,再重新组装成新的 url 字符串。

对象

URL

创建一个 UrlObject 请求对象,参见 UrlObject

1
UrlObject url.URL;

静态函数

format

参数构造 UrlObject 对象

1
static String url.format(Object args);

调用参数:

  • args: Object, 指定构造参数的字典对象,支持的字段有:protocol, slashes, username, password, hostname, port, pathname, query, hash

返回结果:

  • String, 返回构造成功的字符串

parse

解析一个 url 字符串

1 2 3
static UrlObject url.parse(String url, Boolean parseQueryString = false, Boolean slashesDenoteHost = false);

调用参数:

  • url: String, 指定需要解析的 url 字符串
  • parseQueryString: Boolean, 指定是否解析 query
  • slashesDenoteHost: Boolean, 默认为false, 如果设置为true,则从字符串'//'之后到下一个'/'之前的字符串会被解析为host,例如'//foo/bar', 结果应该是{host: 'foo', pathname: '/bar'}而不是{pathname: '//foo/bar'}

返回结果:

  • UrlObject, 返回包含解析数据的对象

resolve

合并相对路径成为一个绝对路径

1 2
static String url.resolve(String _from, String to);

调用参数:

  • _from: String, 源路径
  • to: String, 相对路径

返回结果:

  • String, 返回得到的绝对路径

fileURLToPath

将一个 url 对象转换为跨平台相关的绝对路径

1
static String url.fileURLToPath(UrlObject url);

调用参数:

  • url: UrlObject, 指定需要转换的 url 对象

返回结果:

  • String, 返回转换后的绝对路径

将一个 url 字符串转换为跨平台相关的绝对路径

1
static String url.fileURLToPath(String url);

调用参数:

  • url: String, 指定需要转换的 url 字符串

返回结果:

  • String, 返回转换后的绝对路径

pathToFileURL

将一个跨平台相关的绝对路径转换为 url 对象

1
static UrlObject url.pathToFileURL(String path);

调用参数:

  • path: String, 指定需要转换的绝对路径

返回结果: