如何解决我可以使用 require("path").join 安全地连接网址吗?
No.path.join()
与 URL 一起使用时会返回不正确的值。
这听起来像你想要new URL()
的。来自WHATWG URL 标准:
new URL('/one', 'http://example.com/').href // 'http://example.com/one'
new URL('/two', 'http://example.com/one').href // 'http://example.com/two'
请注意,url.resolve
现在在Node
文档中标记为已弃用。
正如 Andreas
在评论中正确指出的那样,url.resolve
(也已弃用)只有在问题与示例一样简单时才会有所帮助。url.parse
也适用于这个问题,因为它通过URL
对象返回一致且可预测的格式化字段,从而减少了对“充满 ifs 的代码”的需求。但是,new
URL()
也是url.parse
.
解决方法
这是否可以安全地用于require("path").join
连接 URL,例如:
require("path").join("http://example.com","ok");
//returns 'http://example.com/ok'
require("path").join("http://example.com/","ok");
//returns 'http://example.com/ok'
如果不是,你会建议如何在不编写充满 if 的代码的情况下这样做?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。