全局对象与 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 给绝对路径兜底。




