美文网首页
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