好。。。我有一个非常简单的用例。
我有两条线:
var a = 'localhost:3000',
b = '/whatever/; // this can also be whatever/ or /whatever
我需要分析
url.parse(a, b); // so that it takes care of dealing with slashes
但我知道
localhost:/whatever/ instead of localhost:3000/whatever/
有什么线索吗?
谢谢!
最佳答案
如果您比较以下两个调用,您将看到在字符串前面添加协议会产生很大的差异:
> url.parse('http://localhost:3000', '/whatever/')
{ protocol: 'http:',
slashes: true,
auth: null,
host: 'localhost:3000',
port: '3000',
hostname: 'localhost',
hash: null,
search: '',
query: {},
pathname: '/',
path: '/',
href: 'http://localhost:3000/' }
>
没有
> url.parse('localhost:3000', '/whatever/')
{ protocol: 'localhost:',
slashes: null,
auth: null,
host: '3000',
port: null,
hostname: '3000',
hash: null,
search: '',
query: {},
pathname: null,
path: null,
href: 'localhost:3000' }
>
您可能希望添加协议,然后使用
+
而不是,
:> url.parse('http://localhost:3000' + '/whatever/')
{ protocol: 'http:',
slashes: true,
auth: null,
host: 'localhost:3000',
port: '3000',
hostname: 'localhost',
hash: null,
search: null,
query: null,
pathname: '/whatever/',
path: '/whatever/',
href: 'http://localhost:3000/whatever/' }
>
关于javascript - 如何在nodejs url解析中包含端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22700336/