当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js url.resolve(from, to)用法及代码示例


url.resolve(from, to)

历史
版本变化
v15.13.0、v14.17.0

弃用已撤销。状态更改为"Legacy"。

v11.0.0

旧版 URL API 已弃用。使用 WHATWG URL API。

v6.6.0

fromto 引用同一主机时,auth 字段现在保持不变。

v6.0.0

auth 字段现在已清除,to 参数包含主机名。

v6.5.0、v4.6.2

port 字段现在已正确复制。

v0.1.25

添加于:v0.1.25

Stability: 3 - 旧版:改用 WHATWG URL API。

参数
  • from <string> to 是相对 URL 时使用的基本 URL。
  • to <string> 要解析的目标 URL。

url.resolve() 方法以类似于 Web 浏览器解析锚标记的方式解析相对于基本 URL 的目标 URL。

const url = require('node:url');
url.resolve('/one/two/three', 'four');         // '/one/two/four'
url.resolve('http://example.com/', '/one');    // 'http://example.com/one'
url.resolve('http://example.com/one', '/two'); // 'http://example.com/two'

要使用 WHATWG URL API 获得相同的结果:

function resolve(from, to) {
  const resolvedUrl = new URL(to, new URL(from, 'resolve://'));
  if (resolvedUrl.protocol === 'resolve:') {
    // `from` is a relative URL.
    const { pathname, search, hash } = resolvedUrl;
    return pathname + search + hash;
  }
  return resolvedUrl.toString();
}

resolve('/one/two/three', 'four');         // '/one/two/four'
resolve('http://example.com/', '/one');    // 'http://example.com/one'
resolve('http://example.com/one', '/two'); // 'http://example.com/two'

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 url.resolve(from, to)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。