三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 397|回复: 0
打印 上一主题 下一主题

Node.js 实用工具

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-8-14 08:37:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这些函数都在'util' 模块里。使用 require('util') 来访问他们。
util 模块原先设计的初衷是用来支持 node 的内部 API 的。这里的很多的函数对你的程序来说都非常有用。如果你觉得这些函数不能满足你的要求,那你可以写自己的工具函数。我们不希望 'util' 模块里添加对于 node 内部函数无用的扩展。
util.debuglog(section)
  • section {字符串} 被调试的程序节点部分
  • Returns: {Function} 日志函数
用来创建一个有条件的写到 stderr 的函数(基于 NODE_DEBUG 环境变量)。如果 section 出现在环境变量里,返回函数将会和 console.error()类似。否则,返回一个空函数。
例如:
  1. var debuglog = util.debuglog('foo');

  2. var bar = 123;
  3. debuglog('hello from foo [%d]', bar);
复制代码
如果这个程序以 NODE_DEBUG=foo 的环境运行,将会输出:
  1. 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
  • %% - 单独一个百分号 ('%')。 不会消耗一个参数。
如果占位符没有包含一个相应的参数,占位符不会被替换。
  1. util.format('%s:%s', 'foo'); // 'foo:%s'
复制代码
如果参数超过占位符,多余的参数将会用 util.inspect() 转换成字符串,并拼接在一起,用空格隔开。
  1. util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
复制代码
如果第一个参数不是格式化字符串,那么 util.format() 会返回所有参数拼接成的字符串(空格分割)。每个参数都会用 util.inspect() 转换成字符串
  1. util.format(1, 2, 3); // '1 2 3'
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-5-3 00:10 , Processed in 0.026574 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表