NodeJs之初体验05—URL模块
2019-01-23 本文已影响0人
水云楼
进入node命令行,敲击url 会弹出来URL类的所有方法

我们用parse方法试一下

如果增加一个参数true,不加默认为false,query会解析成为一个对象

当协议类型不明确的时候可以再加一个参数true 不加默认为false,会将正常无法解析的url解析出来

url.format()方法可以将url对象解析拼接成一个完整的url

url,resolve()方法可以将两个字符串片段拼接成一个url路径

当然因为学习资料的时效性,后来我在查阅官方文档的时候才发现旧有的api已经过时了,-_-||
原来解析获取url对象的url.parse()方法已经改为了URL()

而且url对象的模型也已经有所变化
url 模块提供了两套 API 来处理 URL:一个是旧版本遗留的 API,一个是实现了 WHATWG标准的新 API。
WHATWG 的 API 与遗留的 API 的区别如下:

通过对比图我们可以看到新的WHATWG标准的模型新增了origin对象,也就是把协议类型,双斜杠以及host整合在了一起,而把auth拆成了username和password,
Search也不再单独拆出query字段了。当然这并不影响我们的学习啦....

另外url.format()也有变化了哦

url.format(URL[, options])
URL <URL>: 一个WHATWG URL对象
options <Object>
- 属性1:auth <boolean> 如果序列化的URL字符串应该包含用户名和密码为true,否则为false。默认为true。
- 属性2:fragment <boolean> 如果序列化的URL字符串应该包含分段为true,否则为false。默认为true。
- 属性3:search <boolean> 如果序列化的URL字符串应该包含搜索查询为true,否则为false。默认为true。
- 属性4:unicode <boolean> true 如果出现在URL字符串主机元素里的Unicode字符应该被直接编码而不是使用Punycode编码为true,默认为false。
返回一个WHATWG URL对象的可自定义序列化的URL字符串表达。
当然这些都是我自己在网上看资料的一些心得,可能理解有些偏差或错误,如果有大神发现,希望可以不吝指正~~如有也是初学者,希望可以留言探讨共同学习