URI
处理
依照RFC3986,将一个完整的URI
按顺序(从左至右)依次划分为以下组件:
scheme
协议username
用户名password
密码host
主机名port
端口号path
路径query
查询条件fragment
片段
通过 edp 引入模块:
edp import saber-uri
var uri = require('saber-uri');
// 构建URI对象
var url = uri('www.baidu.com');
// 添加query
url.query.add({wd: ['10', '11'], from: 'github'});
// 字符串化
// 返回'www.baidu.com?wd=10&wd=11&from=github'
console.log(url.toString())
构建URI
对象
- data
{string|Object}
- return
{URI}
创建的URI对象
var uri = require('saber-uri');
var url;
// 通过字符串构建
url = uri('www.baidu.com');
// 通过对象构建
url = uri({host: 'www.baidu.com', path: '/search'});
解析URI
字符串
- str
{string}
- return
{Object}
var uri = require('saber-uri');
// 输出
// {
// scheme: 'maileto', username: undefined, password: undefined,
// host: undefined, port: undefined, path: 'c.xinle@gmail.com',
// query: undefined, fragment: undefined
// }
uri.parse('mailto:c.xinle@gmail.com');
resolve path
- from
{string}
- to
{string=}
- return
{string}