Node Native (7) os、util、url

一、os

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

const os = require('os');

属性

  • os.EOL:个字符串常量,定义操作系统相关的行末标志:

  • os.constants.signals :信号常量

  • os.constants.errno:错误常量

方法

  • os.arch():Node.js 二进制编译所用的 操作系统CPU架构

  • os.cpus():

speed  (兆赫兹为单位)
times 
    user  CPU花费在用户模式下的毫秒时间数.
    nice  CPU花费在良好模式下的毫秒时间数.
    sys  CPU花费在系统模式下的毫秒时间数.
    idle  CPU花费在空闲模式下的毫秒时间数.
    irq  CPU花费在中断请求模式下的毫秒时间数.
 
 
  • os.endianness():表明Node.js二进制编译环境的字节顺序.
  • os.freemem():
  • os.totalmem():
  • os.homedir():
  • os.hostname():
  • os.loadavg():回一个数组,包含1, 5, 15分钟平均负载.
  • os.networkInterfaces():返回一个对象,包含只有被赋予网络地址的网络接口.
  • os.platform():指定Node.js编译时的操作系统平台,'aix''darwin''freebsd''linux''openbsd''sunos''win32'
  • os.release():返回一个字符串, 指定操作系统的发行版.
  • os.tmpdir():操作系统的 默认临时文件目录.
  • os.type():表明操作系统的名字, 'Linux' 在 Linux系统上, 'Darwin' 在 macOS 系统上,'Windows_NT' 在 Windows系统上.
  • os.uptime():在几秒内返回操作系统的上线时间
  • os.userInfo([options]):当前有效用户的信息

二、util

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

const util = require('util');

方法

  • util.callbackify(original):将 async 异步函数(或者一个返回值为 Promise 的函数)转换成遵循异常优先的回调风格的函数,

  • util.debuglog(section):基于 NODE_DEBUG 环境变量的存在与否有条件地写入调试信息到 stderr。NODE_DEBUG 环境变量中可指定多个由逗号分隔的 section 名称。

  • util.deprecate(function, string):包装给定的 function 或类,并标记为废弃的

  • util.format(format[, ...args]):返回一个格式化后的字符串,使用第一个参数作为一个类似 printf 的格式。

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

 
 
  • util.inspect.defaultOptions:
  • util.promisify(original):让一个遵循异常优先的回调风格的函数, 即 (err, value) => ... 回调函数是最后一个参数, 返回一个返回值是一个 promise 版本的函数
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                                             │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
  • url.parse(urlString[, parseQueryString[, slashesDenoteHost]]):url.parse() 方法会解析一个 URL 字符串并返回一个 URL 对象。
*   `urlString` 要解析的 URL 字符串。
*   `parseQueryString` 如果为 `true`,则 `query` 属性总会通过 `querystring`模块的 `parse()` 方法生成一个对象。
 如果为 `false`,则返回的 URL 对象上的 `query` 属性会是一个未解析、未解码的字符串。 默认为 `false`。
*   `slashesDenoteHost`  如果为 `true`,则 `//` 之后至下一个 `/` 之前的字符串会被解析作为 `host`。
 例如,`//foo/bar` 会被解析为 `{host: 'foo', pathname: '/bar'}` 而不是 `{pathname: '//foo/bar'}`。 默认为 `false`。

  • url.format(urlObject):

  • url.resolve(from, to)url.resolve() 方法会以一种 Web 浏览器解析超链接的方式把一个目标 URL 解析成相对于一个基础 URL。

四、Class: URL

Constructor: new URL(input[, base])

方法

  • url.hash:

  • url.host:

  • url.href:

  • url.origin:

  • url.password:

  • url.pathname:

  • url.port:

  • url.protocol:

  • url.search:

  • url.searchParams:

  • url.username:

  • url.hostname:

  • url.toString():

  • url.toJSON():

  • os:

二、Class: URLSearchParams

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

方法

  • urlSearchParams.append(name, value):

  • urlSearchParams.delete(name):

  • urlSearchParams.entries():迭代器的每一项都是一个JavaScript数组。 Array的第一个项是键name,Array的第二个项是值value

  • urlSearchParams.forEach(fn[, thisArg]):

  • urlSearchParams.get(name):

  • urlSearchParams.has(name):

  • urlSearchParams.keys():

  • urlSearchParams.set(name, value):

  • urlSearchParams.sort():

  • urlSearchParams.toString():

你可能感兴趣的:(Node Native (7) os、util、url)