當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。