Node Native (7) os、util、url

2018-04-20  本文已影响19人  小懒豆

一、os

提供了一些操作系统相关的实用方法。

const os = require('os');

属性

方法

speed <number> (兆赫兹为单位)
times <Object>
    user <number> CPU花费在用户模式下的毫秒时间数.
    nice <number> CPU花费在良好模式下的毫秒时间数.
    sys <number> CPU花费在系统模式下的毫秒时间数.
    idle <number> CPU花费在空闲模式下的毫秒时间数.
    irq <number> CPU花费在中断请求模式下的毫秒时间数.

二、util

util 模块主要用于支持 Node.js 内部 API 的需求。 大部分实用工具也可用于应用程序与模块开发者。

const util = require('util');

方法

      %s - 字符串。
      %d - 数值(整数或浮点数)。
      %i - Integer.
      %f - Floating point value.
      %j - JSON。如果参数包含循环引用,则用字符串 '[Circular]' 替换。
      %o - Object. 
      %O - Object. 
      [%% - 单个百分号('%')。不消耗参数。
options <Object>
    showHidden <boolean> 不可枚举的符号与属性是否被包括在格式化后的结果中。 默认为 false。
    depth <number> 指定格式化 object 时递归的次数。 默认为 2。 若要无限地递归则传入 null。
    colors <boolean> 输出样式是否使用 ANSI 颜色代码。 默认为 false。
    customInspect <boolean> 自定义的 inspect(depth, opts) 函数是否被调用。 默认为 true。
    showProxy <boolean> Proxy 对象的对象和函数会展示它们的 target 和 handler 对象。 默认为 false。
    maxArrayLength <number>  默认为 100。 设为 null 则显式全部数组元素。 设为 0 或负数则不显式数组元素。
    breakLength <number> 对象的键被拆分成多行的长度。 设为 Infinity 则格式化一个对象为单行。 默认为 60。

可以通过 util.inspect.styles

    number - yellow
    boolean - yellow
    string - green
    date - magenta
    regexp - red
    null - bold
    undefined - grey
    special - cyan (暂时只用于函数)
     name - (无样式)
     预定义的颜色代码有:white、grey、black、blue、cyan、green、magenta、red 和 yellow。
     还有 bold、italic、underline 和 inverse 代码。
  
    自定义的 [util.inspect.custom](depth, opts) 函数   

    const obj = { foo: '这个不会出现在 inspect() 的输出中' };
    obj[util.inspect.custom] = (depth) => {
      return { bar: 'baz' };
    };

    util.inspect(obj);
    // 返回: "{ bar: 'baz' }"

Class: util.TextDecoder
Class: util.TextEncoder

三、url

url 模块提供了一些实用函数,用于 URL 处理与解析

const url = require('url');

┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│                                            href                                             │
├──────────┬──┬─────────────────────┬─────────────────────┬───────────────────────────┬───────┤
│ protocol │  │        auth         │        host         │           path            │ hash  │
│          │  │                     ├──────────────┬──────┼──────────┬────────────────┤       │
│          │  │                     │   hostname   │ port │ pathname │     search     │       │
│          │  │                     │              │      │          ├─┬──────────────┤       │
│          │  │                     │              │      │          │ │    query     │       │
"  https:   //    user   :   pass   @ sub.host.com : 8080   /p/a/t/h  ?  query=string   #hash "
│          │  │          │          │   hostname   │ port │          │                │       │
│          │  │          │          ├──────────────┴──────┤          │                │       │
│ protocol │  │ username │ password │        host         │          │                │       │
├──────────┴──┼──────────┴──────────┼─────────────────────┤          │                │       │
│   origin    │                     │       origin        │ pathname │     search     │ hash  │
├─────────────┴─────────────────────┴─────────────────────┴──────────┴────────────────┴───────┤
│                                            href                                             │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
*   `urlString` <string>要解析的 URL 字符串。
*   `parseQueryString` <boolean>如果为 `true`,则 `query` 属性总会通过 `querystring`模块的 `parse()` 方法生成一个对象。
 如果为 `false`,则返回的 URL 对象上的 `query` 属性会是一个未解析、未解码的字符串。 默认为 `false`。
*   `slashesDenoteHost` <boolean> 如果为 `true`,则 `//` 之后至下一个 `/` 之前的字符串会被解析作为 `host`。
 例如,`//foo/bar` 会被解析为 `{host: 'foo', pathname: '/bar'}` 而不是 `{pathname: '//foo/bar'}`。 默认为 `false`。

四、Class: URL

Constructor: new URL(input[, base])

方法

二、Class: URLSearchParams

实例化一个新的空的URLSearchParams对象。

方法

上一篇 下一篇

猜你喜欢

热点阅读