nodejs里面的一个简单的模块,url模块。这个url的模块要使用的话需要先引入。
const url = require("url");
url模板中提供了很多方法,我们这里说几个常用的。
1、 url.parse(urlString,boolean,boolean)
parse这个方法可以将一个url的字符串解析并返回一个url的对象
参数:
urlString指传入一个url地址的字符串
第二个参数(可省)传入一个布尔值,默认为false,为true时,返回的url对象中,query的属性为一个对象。
第三个参数(可省)传入一个布尔值,默认为false,为true时,额,我也不知道有什么不同,可以去看看API。
例子1,url.parse只传一个参数的情况。
const url = require("url");
let str = "http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e";
console.log(url.parse(str));
没有设置第二个参数为true时,query属性为一个字符串类型。
例子2,url.parse第二个参数为true的情况
const url = require("url");
let str = "http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e";
console.log(url.parse(str,true));
返回的url对象中,query属性为一个对象
2、url.pathname
获取URL的路径部分。
const url = require("url");
let str = "http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e";
let urlobj = url.parse(str);
console.log(urlobj)
console.log(urlobj.pathname);
有关url的其它接口功能,统一整理如下:
var url = require('url');
var href = "http://localhost:8081/url_get?abc=123";
var myURL = new url.URL(href);
console.log(myURL.href); // http://localhost:8081/url_get?abc=123
console.log(myURL.origin); // http://localhost:8081
console.log(myURL.host); // localhost:8081
console.log(myURL.hostname); // localhost
console.log(myURL.port); // 8081
console.log(myURL.pathname); // /url_get
console.log(myURL.protocol); // http:
console.log(myURL.search); // ?abc=123
console.log(myURL.searchParams.get('abc')); // 123
上面这些方法要在有构造函数var myURL = new url.URL(href);的情况下使用