返回介绍

saber-uri v0.1.1

发布于 2023-10-15 20:10:06 字数 3373 浏览 0 评论 0 收藏 0

saber-uri Build Status

URI处理

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

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

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

uri( data )

构建URI对象

  • data {string|Object}
var uri = require('saber-uri');
var url;

// 通过字符串构建
url = uri('www.baidu.com');

// 通过对象构建
url = uri({host: 'www.baidu.com', path: '/search'});

uri.parse( str )

解析URI字符串

  • str {string}
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');

uri.resolve( from, to )

resolve path

  • from {string}
  • to {string=}

URI

uri()创建的URI对象

.set( name, data )

设置组件的值

  • name {string=} 组件名,可省略,省略后就对整个URI对象进行设置
  • data {*} 组件值
var uri = require('saber-uri');
var url = uri('www.baidu.com');

// www.baidu.com/search
url.set('path', '/search');

// github.com
url.set('github.com');

.get( name, data )

获取组件值

  • name {string} 组件名
var uri = require('saber-uri');
var url = uri('www.baidu.com/search?wd=100');

// /search
url.get('path');

// 100
url.get('query', 'wd');

.toString( name )

字符串化

  • name {string=} 组件名,可省略,省略后就对整个URI对象进行字符串化
var uri = require('saber-uri');
var url = uri('www.baidu.com/search?wd=100');

// ?wd=100
url.toString('query');

// www.baidu.com/search?wd=100
url.toString();

.equal( uri )

判断URI是否相等

  • uri {string|Object}
var uri = require('saber-uri');
var url1 = uri('www.baidu.com/search');
var url2 = uri('www.baidu.com/search?wd=100');

// true
url1.equal('www.baidu.com/search');

// false
url1.equal(url2);

===

Saber

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文