Skip to content

process

[TOC]

索引

属性

方法

  • process.on()(event, listener),用于注册事件监听器,以响应 Node.js 进程中的各种事件。
  • process.cwd()(),用于获取当前工作目录的绝对路径。通常用于构造相对于当前工作目录的文件路径。

process

属性

argv

process.argv,提供命令行参数数组。

  • 返回:

  • argsstring[],包含命令行参数的数组。第一个元素是 node 的可执行路径,第二个元素是脚本文件的路径,从第三个元素开始是用户传入的参数。

  • js
    // node example.js arg1 arg2
    
    console.log(process.argv);
    // Output: [ '/path/to/node', '/path/to/example.js', 'arg1', 'arg2' ]

env

process.env,获取或设置环境变量。

  • 返回:

  • envobject,一个包含所有环境变量的对象。你可以通过该对象访问或修改环境变量。

  • js
    console.log(process.env.PATH); // 获取 PATH 环境变量
    process.env.NEW_VAR = 'some value'; // 设置环境变量

platform

process.platform,用于获取当前操作系统的平台标识符。

  • 返回:

  • platformstring,表示操作系统的标识符

    • 标识符:
    • win32:Windows
    • linux:Linux
    • darwin:macOS
    • ...
  • js
    switch (process.platform) {
      case 'win32':
        console.log('Running on Windows');
        break;
      case 'darwin':
        console.log('Running on macOS');
        break;
      case 'linux':
        console.log('Running on Linux');
        break;
      default:
        console.log('Running on an unknown platform');
    }

stdout

process.stdout

stdin

process.stdin

方法

on()

process.on()(event, listener),用于注册事件监听器,以响应 Node.js 进程中的各种事件。

  • eventstring,指定要监听的事件类型,例如 'exit''uncaughtException''SIGINT' 等。

    • 事件类型
    • exit('exit', (code) => void),进程即将退出时触发。
    • beforeExit('exit', (code) => void),进程退出前触发。
    • uncaughtException('exit', (err) => void),未捕获的异常发生时触发。
    • SIGINT('exit', () => void),收到中断信号(通常是 Ctrl+C)时触发。可以用于在进程终止前执行清理操作。
    • SIGTERM('exit', () => void),收到终止信号时触发。通常用于进程终止时的清理操作。
    • warning('exit', (warning) => void),发出警告时触发
  • listener(args?) => void,当指定事件发生时执行的回调函数。

    • args?:``,参数取决于事件类型。
  • js
    process.on('exit', (code) => {
      console.log(`Process exiting with code: ${code}`);
    });

cwd()

process.cwd()(),用于获取当前工作目录的绝对路径。通常用于构造相对于当前工作目录的文件路径。

  • 返回:

  • currentWorkingDirectorystring,返回当前工作目录的绝对路径。

  • 注意: 返回的是 Node.js 进程的当前工作目录,而不是脚本文件所在的目录。

  • js
    // 构造相对于当前工作目录的文件路径
    const filePath = path.join(process.cwd(), 'data', 'config.json');