process 是当前进程的控制器(环境变量、退出、参"> process 是当前进程的控制器(环境变量、退出、参"> process 是当前进程的控制器(环境变量、退出、参">
Node.js 词条目录
前端Wiki/Node.js/基础/模块系统与全局对象

全局对象与 process

Node.js 的全局对象不需要 require 就能用:process 是当前进程的控制器(环境变量、退出、参数);__dirname / __filename 是当前文件的目录与绝对路径;console、setTimeout 与浏览器一致。

process 最常用有三处:process.env 读环境变量、process.argv 读命令行参数、process.exit(code) 退出进程(非 0 表示异常退出)。

  • process.env:读取环境变量,配置敏感信息走这里而不是写死在代码里
  • process.argv:命令行参数数组,argv[0] 是 node 路径,argv[1] 是脚本路径
  • __dirname 永远是绝对路径,可放心拼接,不受 cwd 影响
JS
// 读取命令行参数:node script.js Alice 18
// process.argv = ['node路径', 'script.js', 'Alice', '18']
const [, , name, age] = process.argv;
console.log('参数:', name, age);

// 环境变量:启动时指定  NODE_ENV=production node app.js
console.log('环境:', process.env.NODE_ENV || 'development');

// js 代码无法在浏览器运行 fs 等,但 __dirname 可在浏览器编译工具中看到
// ESM 中 __dirname 不存在,需用 import.meta.url 自行推导

// 优雅退出:先打扫卫生再走
process.on('SIGINT', () => {
  console.log('收到 Ctrl+C,保存数据中...');
  process.exit(0);
});
本节要点process 是 Node 的“进程遥控器”:env 读配置、argv 收参数、exit 退进程;__dirname 给绝对路径兜底。