📅  最后修改于: 2023-12-03 14:44:38.841000             🧑  作者: Mango
Node.js 是一个基于 Chrome V8 JavaScript 引擎的运行时环境,用于构建高效的网络应用程序。在 Node.js 中有很多全局变量和函数,这一篇文章将会给您一个全面的 Node.js Globals 参考,以方便您在开发中使用。
process
全局对象是一个全局变量,它提供了与当前 Node.js 进程相关的信息和控制。以下是其中一些常用的方法和属性:
process.argv
- 这是一个字符串数组,其中包含了当前 Node.js 进程运行时的所有命令行参数。第一个元素是 node,第二个元素是 JavaScript 文件的路径,其余元素是传递给脚本的命令行参数。例如:node index.js arg1 arg2 arg3
,这里的 process.argv
数组就是:['node', '/path/to/index.js', 'arg1', 'arg2', 'arg3']
。process.env
- 这是一个对象,其中列出了当前 Shell 进程的所有环境变量。例如:console.log(process.env.PATH)
将输出环境变量 PATH 的值。process.exit([code])
- 用于退出当前 Node.js 进程。如果指定了 code
参数,该程序将以指定的退出码结束(通常用 0
表示程序正常结束,1
表示程序错误结束)。process.cwd()
- 返回 Node.js 进程的当前工作目录的路径。process.pid
- 返回当前 Node.js 进程的进程标识符。process.arch
- 返回当前 CPU 架构,例如 'x64'、'arm' 等。process.platform
- 返回当前操作系统平台,例如 'darwin'、'win32' 等。console
全局对象提供了向标准输出(stdout)和标准错误输出(stderr)打印信息的方法。以下是其中一些常用的方法:
console.log([data][, ...])
- 用于向标准输出 stdout 打印信息。可以输出一个或多个参数。console.error([data][, ...])
- 用于向标准错误输出 stderr 打印信息。可以输出一个或多个参数。console.time(label)
- 用于开始一个计时器,标记为 label
。与 console.timeEnd(label)
结合使用,可用于计算某个操作的耗时。console.timeEnd(label)
- 停止 label
计时器,并输出耗时(毫秒数)到标准输出 stdout。Buffer
全局对象用于处理二进制数据流。以下是其中一些常用的方法和属性:
Buffer.from(array)
- 创建一个 Buffer
对象并将 array
内容写入其中。Buffer.alloc(size[, fill[, encoding]])
- 创建并初始化一个指定大小的二进制缓冲区 Buffer
对象。buffer.toString([encoding[, start[, end]]])
- 将 Buffer
对象转换为指定编码(默认为 utf8
)的字符串。buffer.toJSON()
- 将 Buffer
对象转换为 JSON 对象格式。exports
全局对象用于导出模块中的函数和变量。例如:
// testModule.js
exports.add = function(x, y) {
return x + y;
}
module
全局对象用于表示当前模块。其中包含了当前模块的一些元数据,例如模块的路径、依赖项等。例如:
console.log(module.id); // 打印当前模块的 ID
console.log(module.filename); // 打印当前模块的文件名
console.log(module.loaded); // 打印当前模块是否已经被加载
__dirname
和 __filename
是 Node.js 中的两个全局变量。它们分别表示当前模块的所在目录的绝对路径和当前模块的完整文件名(包含路径)。例如:
console.log(__dirname); // 打印当前模块的目录绝对路径
console.log(__filename); // 打印当前模块的完整文件名
以上就是 Node.js Globals 的完整参考。使用这些全局对象和函数,您可以更方便地编写 Node.js 应用程序。