这些对象在任何作用域下都可以访问。
全局的命名空间对象。
在浏览器中,全局作用域是顶级作用域。这意味着在浏览器的全局作用域下var something
会定义一个全局变量。在 Node 里,顶级作用域不是全局的,在一个 Node 模块的顶级作用域中 var something
只会定义一个该模块的局部变量。
进程对象。
引用模块。请参考 '模块' 章节。
使用内置的require()
机制来查询模块路径。不载入模块,仅返回解析好的文件名。
require()
使用的搜索路径数组,可以自由修改它。
示例:添加一个新路径到搜索列表的头部
require.paths.unshift('/usr/local/node');
正在运行的脚本文件名。它是脚本的绝对路径,不一定和命令行参数的文件名相同。
示例:从 /Users/mjr
运行 node example.js
console.log(__filename);
// /Users/mjr/example.js
正在运行的脚本所在目录。
示例:从 /Users/mjr
运行 node example.js
console.log(__dirname);
// /Users/mjr
当前模块的引用。特别地,module.exports
其实就是 exports
对象。更多信息请参考 src/node.js
。