gpt4 book ai didi

javascript - Node 遗留 url.parse 已弃用,用什么代替?

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:46 25 4
gpt4 key购买 nike

require('url').parse('someurl.com/page') 已仅在文档中被弃用,我们严格的 linter 对此感到不满...我尝试在我们的代码中将其替换为互联网建议的 new URL('someurl.com/page') ,这在大多数情况下都有效。

但是,我们有一些示例,其中 url 是本地镜像 some/image.png 并且与 url.parse() 配合得很好并返回:

Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: null,
query: null,
pathname: '/some/image.png',
path: '/some/image.png',
href: '/some/image.png'
}

但是建议的替换 new URL('some/image.png') 会引发类型错误...

TypeError [ERR_INVALID_URL] [ERR_INVALID_URL]: Invalid URL:/some/image.png

url.parse 正在进行一些验证并接受本地路径,但新的 url 构造函数不这样做。该怎么办?

最佳答案

const server = http.createServer((req, res) => {
const baseURL = req.protocol + '://' + req.headers.host + '/';
const reqUrl = new URL(req.url,baseURL);
console.log(reqUrl);
});

将给出 reqUrl :

URL {
href: 'http://127.0.0.1:3000/favicon.ico',
origin: 'http://127.0.0.1:3000',
protocol: 'http:',
username: '',
password: '',
host: '127.0.0.1:3000',
hostname: '127.0.0.1',
port: '3000',
pathname: '/favicon.ico',
search: '',
searchParams: URLSearchParams {},
hash: ''
}

关于javascript - Node 遗留 url.parse 已弃用,用什么代替?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59375013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com