Node 全局对象
global
全局命名空间对象,所有全局变量和函数都是它的属性。例如可以通过 global.console 访问 console 对象。
process
提供有关进程的信息和控制。它是 EventEmitter 的实例。
argv:包含命令行参数的数组,第一项为 node 的安装路径,第二项为执行 node 的 js 的文件路径,后续项为传入的参数。bashnode index.js one two=foo threejsconsole.log(process.argv) // [ // 'C:\\Program Files\\nodejs\\node.exe', // 'D:\\index.js', // 'one', // 'two=foo', // 'three' // ]env:包含本机的环境变量的对象。platform:代表操作系统平台的字符串,如:'linux'、'win32'等。version:代表 nodejs 版本的字符串。cwd():返回执行 node.js 的终端路径。nextTick(cb):当前堆栈上的操作运行后执行 cb,在任何 I/O 发生之前。总是在微任务队列之前处理。kill(pid):通过进程 id 杀死进程。memoryUsage():返回进程的内存使用情况(单位:字节)。on('beforeExit', cb):事件循环无任务时触发。显示调用的process.on('exit')不会触发此事件。on('exit', cb):显示调用或事件循环无任务时触发。on('unhandledRejection', (reason, promise) => {}):Promise被拒绝且未catch时触发。
其它
__dirname:当前模块的目录名,ESM 中不可用。ESM 可用以下方法实现:jsimport { dirname } from 'node:path' import { fileURLToPath } from 'node:url' dirname(fileURLToPath(import.meta.url))__filename:当前模块的文件名,ESM 中不可用。ESM 可用以下方法实现:jsimport { fileURLToPath } from 'node:url' fileURLToPath(import.meta.url)queueMicroTask(cb):将 cb 加入微队列等待执行。structuredClone(value):使用结构化克隆算法对 value 进行深拷贝。console:控制台对象,如log、warn、error、time、timeEnd、trace等。
