NodeJs之初体验05—URL模块

进入node命令行,敲击url 会弹出来URL类的所有方法


8915032-479839a2b7e93a1f.png
这些呢就是url类的api了

我们用parse方法试一下


8915032-c2a0e119c61d1223.png
就解析成模型啦

如果增加一个参数true,不加默认为false,query会解析成为一个对象
8915032-98d884c3f7cea820.png
夭寿啦~~query变对象啦

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


8915032-56642c68c3e314f4.png
对比图上面为不加第三个参数

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

url,resolve()方法可以将两个字符串片段拼接成一个url路径
8915032-988a576659995100.png

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

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


8915032-d9f31cfcbca42271.png
唉——...

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

另外url.format()也有变化了哦
8915032-d8b338cd0d2fc23d.png
看示例

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字符串表达。

当然这些都是我自己在网上看资料的一些心得,可能理解有些偏差或错误,如果有大神发现,希望可以不吝指正~~如有也是初学者,希望可以留言探讨共同学习

猜你喜欢

转载自blog.csdn.net/weixin_34408717/article/details/86818174