引入模块
var url = require('url');
1. url.parse()
/* url.parse(urlString[,parseQueryString[,slashesDenoteHost]])
* urlString <string>将被解析的网址
* parseQueryString <boolean> 默认为false,将query解析成一个字符串;如何设为true,则将query解析成一个对象
* @return <object>
*/
var result = url.parse('https://www.baidu.com/s?ie=UTF-8&wd=node.js')
console.log(result);
// 打印结果
{
protocol: 'https:', // url协议
slashes: true, // 斜线'/'
auth: null, // 用户认证
host: 'www.baidu.com', // 主机
port: null, // 端口
hostname: 'www.baidu.com', // 主机名
hash: null, // hash 值
search: '?ie=UTF-8&wd=node.js', // url中查询信息,包含'?'
query: 'ie=UTF-8&wd=node.js', // url中查询信息,不包含'?'
pathname: '/s', // 跟在host之后的整个文件路径
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方法相反,它用于根据某个对象生成url
var urlObj = {
protocol:'http',
host:'www.baidu.com',
pathname:'/page',
search:'?index=1&sign=true'
}
var urlStr = url.format(urlObj);
console.log(urlStr);
// 打印结果
// 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);
// 打印结果
// http://www.baidu.com/page
var urlStr1 = url.resolve('/page/person/','pic');
console.log(urlStr1);
// 打印结果
// /page/person/pic
网友评论