NodeJs笔记

Node

@(NodeJS)

URL

1
url.parse(urlStr, [parseQueryString], [slashesDenoteHost])

输入URL字符串,返回一个对象
将第二个参数设置true则使用querystring模块来解析URl中的查询字符串部分,默认为false
将第三个参数设置为true来吧诸如//foo/bar这样的URL解析为{host:’foot’,pathname:’bar’}而不是{pathname:’//foo/bar’},默认为false

1
url.format(urlobj)

输入一个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

1
querystring.stringify(obj, [sep], [eq])

序列号一个对象到一个querystring,可以选择是否覆盖默认的分隔符(’&’)和通配符(‘=’)

1
2
3
querystring.stringify({foo:'bar',baz:'qux'},';',':')
//返回字符串
'foo:bar;baz:qux'

1
querystring.parse(str,[sep],[eq],[options])

将一个querystring反序列化为一个对象,可以选择是否覆盖默认的分隔符(‘&’)和通配符(‘=’)
options对象可能包含maxKeys属性(默认1000),用来限制处理过的key的数量,设置0可以去除限制

1
2
3
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

1
querystring.escape

供querystring.stringify使用的转意函数,在必要的时候可以被重写

1
querystring.unescape

供querystrin.parse使用的反转意函数,在必要时可以被重写