这些函数都在'util' 模块里。使用 require('util') 来访问他们。 util 模块原先设计的初衷是用来支持 node 的内部 API 的。这里的很多的函数对你的程序来说都非常有用。如果你觉得这些函数不能满足你的要求,那你可以写自己的工具函数。我们不希望 'util' 模块里添加对于 node 内部函数无用的扩展。 util.debuglog(section)- section {字符串} 被调试的程序节点部分
- Returns: {Function} 日志函数
用来创建一个有条件的写到 stderr 的函数(基于 NODE_DEBUG 环境变量)。如果 section 出现在环境变量里,返回函数将会和 console.error()类似。否则,返回一个空函数。 例如: - var debuglog = util.debuglog('foo');
- var bar = 123;
- debuglog('hello from foo [%d]', bar);
复制代码 如果这个程序以 NODE_DEBUG=foo 的环境运行,将会输出:
- FOO 3245: hello from foo [123]
复制代码3245 是进程 ID。如果没有运行在这个环境变量里,将不会打印任何东西。 可以用逗号切割多个 NODE_DEBUG 环境变量。例如:NODE_DEBUG=fs,net,tls。 util.format(format[, ...])使用第一个参数返回一个格式化的字符串,类似 printf。 第一个参数是字符串,它包含 0 或更多的占位符。每个占位符被替换成想要参数转换的值。支持的占位符包括: - %s - 字符串.
- %d - 数字 (整数和浮点数).
- %j - JSON. 如果参数包含循环引用,将会用字符串替换R
- %% - 单独一个百分号 ('%')。 不会消耗一个参数。
如果占位符没有包含一个相应的参数,占位符不会被替换。 - util.format('%s:%s', 'foo'); // 'foo:%s'
复制代码如果参数超过占位符,多余的参数将会用 util.inspect() 转换成字符串,并拼接在一起,用空格隔开。 - util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
复制代码如果第一个参数不是格式化字符串,那么 util.format() 会返回所有参数拼接成的字符串(空格分割)。每个参数都会用 util.inspect() 转换成字符串 - util.format(1, 2, 3); // '1 2 3'
复制代码
|