知识共享许可协议
本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。

Node.js v4.2.4 手册 & 文档


全局对象#

这些对象在所有模块中都是可用的。有些对象实际上并非在全局作用域内而是在模块作用域内——这种情况在以下文档中会特别指出。

global#

  • {Object} 全局命名空间对象。

在浏览器中,顶级作用域就是全局作用域。这就是说,在浏览器中,如果当前是在全局作用域内,var something将会声明一个全局变量。在Node中则不同。顶级作用域并非全局作用域,在Node模块里的var something只属于那个模块。

process#

  • {Object}

进程对象。见 进程对象章节。

console#

  • {Object}

用于打印标准输出和标准错误。见控制台章节。

类: Buffer#

  • {Function}

用于处理二进制数据。见Buffer章节。

require()#

  • {Function}

引入模块。见Modules章节。require实际上并非全局的而是各个模块本地的。

require.resolve()#

使用内部的require()机制查找模块的位置,但不加载模块,只返回解析过的模块文件路径。

require.cache#

  • {Object}

模块在引入时会缓存到该对象。通过删除该对象的键值,下次调用require时会重新加载相应模块。

require.extensions#

稳定度:0 - 已废弃
  • {Object}

指导require方法如何处理特定的文件扩展名。

.sjs文件作为.js文件处理:

require.extensions['.sjs'] = require.extensions['.js'];

已废弃 之前,该列表用于按需编译非JavaScript模块并加载进Node。然而,实践中有更好的方式实现该功能,如通过其他Node程序加载模块,或提前将他们编译成JavaScript代码。

由于模块系统的API已锁定,该功能可能永远不会去掉。改动它可能会产生细微的错误和复杂性,所以最好保持不变。

__filename#

  • {String}

当前所执行代码文件的文件路径。这是该代码文件经过解析后的绝对路径。对于主程序来说,这和命令行中使用的文件路径未必是相同的。在模块中此变量值是该模块文件的路径。

例子:在/Users/mjr下运行node example.js

console.log(__filename);
// /Users/mjr/example.js

__filename实际上并非全局的而是各个模块本地的。

__dirname#

  • {String}

当前执行脚本所在目录的目录名。

例子:在/Users/mjr下运行node example.js

console.log(__dirname);
// /Users/mjr

__dirname实际上并非全局的而是各个模块本地的。

module#

  • {Object}

当前模块的引用。特别地,module.exportsexports指向同一个对象。module实际上并非全局的而是各个模块本地的。

详情可见模块系统文档

exports#

module.exports对象的引用,该对象被当前模块的所有实例所共享,通过require()可访问该对象。 何时使用exports以及何时使用module.exports的详情可参见模块系统文档exports实际上并非全局的而是各个模块本地的。

详情可见模块系统文档

关于模块系统的更多信息可参见模块

setTimeout(cb, ms)#

至少ms毫秒后调用回调cb。实际延迟取决于外部因素,如操作系统定时器粒度及系统负载。

超时值必须在1-2147483647的范围内(包含1和2147483647)。如果该值超出范围,则该值被当作1毫秒处理。一般来说,一个定时器不能超过24.8天。

返回一个代表该定时器的句柄值。

clearTimeout(t)#

停止一个之前通过setTimeout()创建的定时器。回调不会再被执行。

setInterval(cb, ms)#

每隔ms毫秒重复调用回调cb。注意,取决于外部因素,如操作系统定时器粒度及系统负载,实际间隔可能会改变。它不会少于ms但可能比ms长。

间隔值必须在1-2147483647的范围内(包含1和2147483647)。如果该值超出范围,则该值被当作1毫秒处理。一般来说,一个定时器不能超过24.8天。

返回一个代表该定时器的句柄值。

clearInterval(t)#

停止一个之前通过setInterval()创建的定时器。回调不会再被执行。

定制器函数是全局变量。见定时器章节。