我在 VS Code 中收到警告,说来自 NodeJS URL 模块的 url.format
已经被弃用。
const nodeUrl = require('url')
const url = nodeUrl.format({
protocol: 'https',
host: 'example.com',
pathname: 'somepath'
})
我应该使用什么替代?只是将上述内容进行替换是完全安全的吗?
const buildUrl = (url) => url.protocol + '://' + url.host + '/' + url.pathname
这两个函数等效吗?也就是说,对于任何具有该结构的对象输入,它会产生相同的输出吗?
url.format
没有任何我可能错过的魔法吗?例如,带有或不带有前导/
的pathname
。
我的项目很大,有很多调用url.format
的地方,我想确保没有任何问题。
编辑:显然,我们应该使用 WHATWG URL标准
那么这是正确的替换吗?
const buildUrl = (url) => new URL(url.pathname, url.protocol + '://' + url.host)
WHATWG URL API
? - João Pimentel Ferreiraurl.format(urlObject)
?只需要new URL(urlObject.pathname, urlObject.protocol + '://' + urlObject.host)
吗? - João Pimentel Ferreira