Node
@(NodeJS)
URL
|
|
输入URL字符串,返回一个对象
将第二个参数设置true则使用querystring模块来解析URl中的查询字符串部分,默认为false
将第三个参数设置为true来吧诸如//foo/bar这样的URL解析为{host:’foot’,pathname:’bar’}而不是{pathname:’//foo/bar’},默认为false
|
|
输入一个URL对象,返回格式化后的URL字符串
说明
- href的属性会被忽略处理
- protocol无论是否有末尾的:会同意的处理
- 这些协议包括http,https,ftp,gopher,file后缀是://(冒号,斜杠,)
- 所有其他的协议如mailto,xmpp,aim,sftp,foo等会加上后缀:(冒号)
- auth如果有将会出现
- hostname如果host属性没被定义,则会使用此属性
- port如果host属性没被定义,则会使用此属性
- host优先使用,将会替代hostname和port
- pathname将会同样处理无论结尾是否有/
- search将会替代query属性
- query(object类型;详情看querystring)如果没有search,将会使用此属性
- search无论前面是否有?,都会同样处理
- hash无论前面是否有#(锚点),都会同样处理
1 url.resolve(from,to)给定一个基础URL路径,和一个hrefURL路径,合并成URL绝对路径,可以带锚点
1 url.resolve('http://www.baidu.com/','admin/Login')
##QueryString
序列号一个对象到一个querystring,可以选择是否覆盖默认的分隔符(’&’)和通配符(‘=’)
123 querystring.stringify({foo:'bar',baz:'qux'},';',':')//返回字符串'foo:bar;baz:qux'
|
|
将一个querystring反序列化为一个对象,可以选择是否覆盖默认的分隔符(‘&’)和通配符(‘=’)
options对象可能包含maxKeys属性(默认1000),用来限制处理过的key的数量,设置0可以去除限制
123 querystring.parse('foo=bar&baz=qux&baz=quux&corge')// returns{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }
|
|
供querystring.stringify使用的转意函数,在必要的时候可以被重写
1 querystring.unescape供querystrin.parse使用的反转意函数,在必要时可以被重写