我想要解析包含端口的网址。 具体例子:
mainServerURL ='localhost:8080/';
tempFilesDir ='/temp';
如果我在这两个变量上调用url.resolve,我会得到
'localhost:/temp'
但我实际上在寻找:
'localhost:8080/temp'
我的代码非常简单,所以我担心我必须使用url.resolve错误(由于我身边的理论错误),但我环顾四周,找不到另一种方法。
当然有弦乐方式,但我猜它是可以避免的?
非常感谢任何帮助!
答案 0 :(得分:2)
通过使用//
前缀denoted,网址的主机可以为{{3}}。
> var mainServerURL = '//localhost:8080/';
undefined
> var tempFilesDir = '/temp';
undefined
> url.resolve(mainServerURL, tempFilesDir)
'//localhost:8080/temp'
没有它,localhost:
被视为协议而不是主机名:
> url.parse('localhost:8080/', false, true)
{ protocol: 'localhost:',
host: '8080',
port: null,
hostname: '8080',
... }