Node.js 常用模块

URL

1.url.parse(urlString[, parseQueryString[, slashesDenoteHost]]) 将url字符转成url对象

  • urlString 要解析的 URL字符串。
  • parseQueryString 如果设为 true,则返回的 URL 对象的 query 属性会是一个使用 querystring 模块的 parse() 生成的对象。 如果设为 false,则 query 会是一个未解析未解码的字符串。 默认为 false。
  • slashesDenoteHost 如果设为 true,则 // 之后至下一个 / 之前的字符串会解析作为 host。 例如, //foo/bar 会解析为 {host: ‘foo’, pathname: ‘/bar’} 而不是 {pathname: ‘//foo/bar’}。 默认为 false。

2.url.format(URL[, options])将url对象转成url字符

  • URL 一个对象
  • options
  • auth 如果序列化的URL字符串应该包含用户名和密码为true,否则为false。默认为true。
  • fragment 如果序列化的URL字符串应该包含分段为true,否则为false。默认为true。
  • search如果序列化的URL字符串应该包含搜索查询为true,否则为false。默认为true。
  • unicode true 如果出现在URL字符串主机元素里的Unicode字符应该被直接编码而不是使用Punycode编码为true,默认为false。

3.url.resolve(from, to)url路径的拼接,替换

  • from 解析时相对的基本 URL。

  • to要解析的超链接 URL。

  • 例子:

    const url = require(‘url’);
    url.resolve(’/one/two/three’, ‘four’); // ‘/one/two/four’
    url.resolve(‘http://example.com/’, ‘/one’); // ‘http://example.com/one’
    url.resolve(‘http://example.com/one’, ‘/two’); // ‘http://example.com/two’

querystring(查询字符串)

1.querystring.stringify(obj[, sep[, eq[, options]]])解析对象部分转成URLsearch

  • obj 要序列化为 URL 查询字符串的对象。

  • sep用于在查询字符串中分隔键值对的子字符串。默认值: ‘&’。

  • eq 用于在查询字符串中分隔键和值的子字符串。默认值: ‘=’。

  • options

  • encodeURIComponent 在查询字符串中将 URL
    不安全字符转换为百分比编码时使用的函数。默认值: querystring.escape()。
    querystring.stringify() 方法通过迭代对象的自身属性从给定的 obj 生成 URL 查询 字符串 。

    querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
    // 返回 'foo=bar&baz=qux&baz=quux&corge='
    querystring.stringify({ foo: 'bar', baz: 'qux' }, ';', ':');
    // 返回 'foo:bar;baz:qux'
    
    

2.querystring.parse(str[, sep[, eq[, options]]]) 解析URLsearch部分转成对象

  • str 要解析的 URL 查询字符串。

  • sep 用于在查询字符串中分隔键值对的子字符串。默认值: ‘&’。

  • eq用于在查询字符串中分隔键和值的子字符串。默认值: ‘=’。

  • options

  • decodeURIComponent解码查询字符串中的百分比编码字符时使用的函数。默认值: querystring.unescape()。

  • maxKeys 指定要解析的键的最大数量。指定 0 可移除键的计数限制。默认值: 1000。 querystring.parse()
    方法将 URL 查询字符串 str 解析为键值对的集合。
    例如,查询字符串 ‘foo=bar&abc=xyz&abc=123’ 被解析为:

    {
    foo: 'bar',
    abc: ['xyz', '123']
    }
    

    querystring.parse() 方法返回的对象不是原型继承自 JavaScript Object。 这意味着典型的 Object 方法如 obj.toString()、 obj.hasOwnProperty() 等都没有定义并且不起作用。
    默认情况下,将假定查询字符串中的百分比编码字符使用 UTF-8 编码。 如果使用其他字符编码,则需要指定其他 decodeURIComponent 选项:

    // 假设 gbkDecodeURIComponent 函数已存在。
    querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
    { decodeURIComponent: gbkDecodeURIComponent });
    
    

你可能感兴趣的:(Node.js 常用模块)