url模块
url模块,用于将url字符串解析为对象或将对象格式化为url字符串,用来处理get请求非常方便。
模块只有三个方法,用起来也简单。
url结构说明
网址:http://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash

从node.js 中文网拿的图。
url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
1  | let url = require('url');  | 
把url字符串解析成url对象。输出:
1  | {  | 
- protocol: 请求协议。
 - slashes: slashes 属性是一个 boolean,如果 协议 中的冒号后面跟着两个 ASCII 斜杠字符(/),则值为 true。
 - auth: URL的用户名与密码部分。
 - host: URL的主机部分包括端口号。
 - port:主机的端口号。
 - hostname:主机名部分。
 - hash: 锚点部分。
 - search: 整个查询字符串部分,包括前面的?号
 - query: 查询字符串部分,不包括前面的?号
 - pathname:URL 的整个路径部分。
 - path: pathname 与 search 组成部分的串接。
 - href: 解析后的完整的 URL 字符串,protocol 和 host 都会被转换为小写的。
 
第二个参数是布尔值,如果是 true,query值是一个对象。 默认为 false。
第三个参数是布尔值,如果是 true,则 // 之后至下一个 / 之前的字符串会被解析作为 host。 例如,//foo/bar 会被解析为 {host: ‘foo’, pathname: ‘/bar’} 而不是 {pathname: ‘//foo/bar’}。 默认为 false。
url.format(urlObject)
1  | let url = require('url');  | 
url.parse()的反向操作,把url对象解析成url字符串
url.resolve(from, to)
1  | let url = require('url');  | 
把最后一个/没有内容后面追加to参数,有内容则替换。