美文网首页
Node Native (7) os、util、url

Node Native (7) os、util、url

作者: 小懒豆 | 来源:发表于2018-04-20 14:41 被阅读19次

一、os

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

const os = require('os');

属性

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

  • os.constants.signals :信号常量

  • os.constants.errno:错误常量

方法

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

  • os.cpus():

speed <number> (兆赫兹为单位)
times <Object>
    user <number> CPU花费在用户模式下的毫秒时间数.
    nice <number> CPU花费在良好模式下的毫秒时间数.
    sys <number> CPU花费在系统模式下的毫秒时间数.
    idle <number> CPU花费在空闲模式下的毫秒时间数.
    irq <number> 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 <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' }"

  • 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` <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`。

  • 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

      本文链接:https://www.haomeiwen.com/subject/uclakftx.html