url.resolve(from, to)
-
from
<string> 如果to
是相对的 URL,则使用的基本的 URL。¥
from
<string> The base URL to use ifto
is a relative URL. -
to
<string> 要解析的目标 URL。¥
to
<string> The target URL to resolve.
url.resolve()
方法以类似于 Web 浏览器解析锚标记的方式解析相对于基本 URL 的目标 URL。
¥The url.resolve()
method resolves a target URL relative to a base URL in a
manner similar to that of a web browser resolving an anchor tag.
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 实现相同的结果:
¥To achieve the same result using the 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'