Nodejs 全局对象

93 阅读1分钟

一、__filename 和 __dirname

  • __filename: 当前正在执行的脚本文件的绝对路径
  • __dirname: 当前正在执行脚本所在目录的绝对路径 esm 模块中通过以下方式使用:
import { fileURLToPath } from 'url'
import { dirname } from 'path'
/**
 * 在 es 模块中获取 __filename 和 __dirname 
 */
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)

import.meta.url:当前模块的绝对路径

二、process

process 提供了与当前 Node.js 进程相关的信息和控制方法

  1. argv: 返回一个数组,包含启动 Node.js 进程时传递的命令行参数
  2. cwd(): 获取当前工作目录的绝对路径
  3. env: 获取当前执行环境的环境变量
  4. pid: 获取进程ID
  5. platform: 获取平台信息
  6. arch: 获取CPU信息
  7. exit([code]): 以code状态同步终止进程
  8. kill(pid, [signal]): 关闭进程
  9. stdout: 标准输出流,常用 process.stdout.write 进行数据写入
process.stdout.write('process.stdout:标准输出流')
  1. stdin: 用于从标准输入流 (stdin) 读取数据
process.stdin.on('data', (data) => {
  console.log(`\nUser input: ${data}`);
  if (data.indexOf('?') >= 0) {
    process.stdout.write('你的答案是「我我想」')
  }
  process.exit();
});