Skip to content

ecomfe/saber-uri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

saber-uri Build Status

URI处理

依照RFC3986,将一个完整的URI按顺序(从左至右)依次划分为以下组件:

  • scheme 协议
  • username 用户名
  • password 密码
  • host 主机名
  • port 端口号
  • path 路径
  • query 查询条件
  • fragment 片段

Installation

通过 edp 引入模块:

edp import saber-uri

Usage

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())

API

Methods

uri(data)

构建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'});

parse(str)

解析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(from, to)

resolve path

  • from {string}
  • to {string=}
  • return {string}

Classes