引入模塊
var url = require('url');
1. url.parse()
/* url.parse(urlString[,parseQueryString[,slashesDenoteHost]])
* urlString <string>將被解析的網(wǎng)址
* parseQueryString <boolean> 默認(rèn)為false混萝,將query解析成一個(gè)字符串聘芜;如何設(shè)為true,則將query解析成一個(gè)對(duì)象
* @return <object>
*/
var result = url.parse('https://www.baidu.com/s?ie=UTF-8&wd=node.js')
console.log(result);
// 打印結(jié)果
{
protocol: 'https:', // url協(xié)議
slashes: true, // 斜線'/'
auth: null, // 用戶認(rèn)證
host: 'www.baidu.com', // 主機(jī)
port: null, // 端口
hostname: 'www.baidu.com', // 主機(jī)名
hash: null, // hash 值
search: '?ie=UTF-8&wd=node.js', // url中查詢信息除秀,包含'?'
query: 'ie=UTF-8&wd=node.js', // url中查詢信息,不包含'?'
pathname: '/s', // 跟在host之后的整個(gè)文件路徑
path: '/s?ie=UTF-8&wd=node.js', // pathname和search
href: 'https://www.baidu.com/s?ie=UTF-8&wd=node.js' // 元素url
}
2. url.format(urlObject)
format方法與parse方法相反,它用于根據(jù)某個(gè)對(duì)象生成url
var urlObj = {
protocol:'http',
host:'www.baidu.com',
pathname:'/page',
search:'?index=1&sign=true'
}
var urlStr = url.format(urlObj);
console.log(urlStr);
// 打印結(jié)果
// http://www.baidu.com/page?index=1&sign=true
3. url.resolve(from,to)
用于拼接url
var urlStr = url.resolve('http://www.baidu.com/','page');
console.log(urlStr);
// 打印結(jié)果
// http://www.baidu.com/page
var urlStr1 = url.resolve('/page/person/','pic');
console.log(urlStr1);
// 打印結(jié)果
// /page/person/pic