美文网首页前端包浆记
NodeJs之初体验05—URL模块

NodeJs之初体验05—URL模块

作者: 水云楼 | 来源:发表于2019-01-23 16:12 被阅读0次

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


    这些呢就是url类的api了

    我们用parse方法试一下


    就解析成模型啦
    如果增加一个参数true,不加默认为false,query会解析成为一个对象
    夭寿啦~~query变对象啦

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


    对比图上面为不加第三个参数
    url.format()方法可以将url对象解析拼接成一个完整的url

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

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

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

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

    相关文章

      网友评论

        本文标题:NodeJs之初体验05—URL模块

        本文链接:https://www.haomeiwen.com/subject/qfxsjqtx.html