1.0.1 • Published 5 years ago

@wxmini/url v1.0.1

Weekly downloads
2
License
ISC
Repository
-
Last release
5 years ago

URL处理 API

提供URL的常用处理方法。

urlParse(url)

参数:

  • url

返回值:

参数名说明
host?前地址部分
hostname协议部分
hash#后面部分,不包括#
href整个url地址
query参数对象表现形式,不包括?
getSearch()参数字符串表现形式,包括?
format()格式化url对象,返回完成url字符串地址

示例代码:

import { urlParse } from '@wxmini/url'

const urlObj = urlParse('http://www.foo.com/bar?a=1&b=2#h');
console.log(urlObj.host);           // http://www.foo.com/bar
console.log(urlObj.hostname);       // http
console.log(urlObj.hash);           // h
console.log(urlObj.href);           // http://www.foo.com/bar?a=1&b=2#h
console.log(urlObj.query);          // {a: "1", b: "2"}
console.log(urlObj.getSearch());   // ?a=1&b=2

urlObj.query.c = 3;
console.log(urlObj.format())          // http://www.foo.com/bar?a=1&b=2&c=3#h

stringify(object)

将对象转换成字符串

参数:

  • object

返回值:

  • string

示例代码:

小注:默认会使用encodeURIComponent对key和value进行处理,也可以自定义encode。

import { stringify } from '@wxmini/url'
const object = {
    foo假设: '我是小程序',
    bar: ['arr1', 'arr2'],
    baz: true,
    normal: 'abc'
};
console.log(stringify(object));

// foo%E5%81%87%E8%AE%BE=%E6%88%91%E6%98%AF%E7%BE%8E%E5%9B%A2%E5%B0%8F%E7%A8%8B%E5%BA%8F&bar=arr1&bar=arr2&baz=true&normal=abc

console.log(stringify(object, { encode: x => x }))

// foo假设=我是小程序&bar=arr1&bar=arr2&baz=true&normal=abc

parse(string)

将字符串转换成对象

参数:

  • string

返回值:

  • object

示例代码:

小注:默认不会使用decodeURIComponent进行处理。

import { parse } from '@wxmini/url'

const str = 'foo%E5%81%87%E8%AE%BE=%E6%88%91%E6%98%AF%E7%BE%8E%E5%9B%A2%E5%B0%8F%E7%A8%8B%E5%BA%8F&bar=arr1&bar=arr2&baz=true&normal=abc';
console.log(parse(str));
{
    "foo%E5%81%87%E8%AE%BE": "%E6%88%91%E6%98%AF%E7%BE%8E%E5%9B%A2%E5%B0%8F%E7%A8%8B%E5%BA%8F",
    "bar": [
        "arr1",
        "arr2"
    ],
    "baz": "true",
    "normal": "abc"
}