一、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():
网友评论