【问题标题】:Node.js: Resolving url with port includedNode.js:解析包含端口的 url
【发布时间】:2013-04-16 02:28:16
【问题描述】:

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

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

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

'localhost:/temp'

但我实际上在寻找:

'localhost:8080/temp'

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

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

非常感谢任何帮助!

【问题讨论】:

  • 您需要提供更完整的网址,例如//localhost:8080/

标签: node.js url port resolve


【解决方案1】:

通过前缀//,URL 的主机可以是denoted

> 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',
  ... }

【讨论】:

  • 非常感谢!我没想到会有所作为。
猜你喜欢
  • 2014-05-07
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-21
相关资源
最近更新 更多