0

我想解析一个包含端口的 url。具体例子:

mainServerURL   ='localhost:8080/';
tempFilesDir    ='/temp';

如果我在这两个变量上调用 url.resolve,我得到

'localhost:/temp'

但我实际上正在寻找:

'localhost:8080/temp'

我的代码非常简单,所以恐怕我必须使用 url.resolve 错误(可能是由于我这边的理论错误),但我环顾四周,找不到另一种方法。

当然有字符串方式,但我猜它是可以避免的?

任何帮助深表感谢!

4

1 回答 1

2

URL 的主机可以前缀来表示//

> 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',
  ... }
于 2013-04-23T02:45:35.827 回答