有用的内置Node.js APIs

前言在构建你的第一个Node.js应用程序时,了解node开箱即用的实用工具和API是很有帮助的 , 可以帮助解决常见的用例和开发需求 。
有用的Node.js APIs

  • Process:检索有关环境变量、参数、CPU使用情况和报告的信息 。
  • OS:检索Node正在运行的操作系统和系统相关信息 。比如CPU、操作系统版本、主目录等等 。
  • Util:有用和常见方法的集合 。用于帮助解码文本、类型检查和对比对象 。
  • URL:轻松创建和解析URL 。
  • File System API:与文件系统交互 。用于创建、读取、更新以及删除文件、目录和权限 。
  • Events:用于触发和订阅Node.js中的事件 。其工作原理与客户端事件监听器类似 。
  • Streams:用于在更小和更容易管理的块中处理大量数据,以避免内存问题 。
  • Worker Threads:用来分离不同线程上的函数执行,以避免瓶颈 。对于CPU密集型的JavaScript操作很有用 。
  • Child Processes:允许你运行子进程,你可以监控并在必要时终止子进程 。
  • Clusters:允许你跨核fork任何数量的相同进程,以更有效地处理负载 。
Processprocess对象提供有关你的Node.js应用程序以及控制方法的信息 。可以使用该对象获取诸如环境变量、CPU和内存使用情况等信息 。process是全局可用的:你可以在不import的情况下使用它 。尽管Node.js文档推荐你显示地引用:
import process from 'process';
  • process.argv:返回一个数组 。该数组的前两个元素是Node.js的可执行路径和脚本名称 。索引为2的数组项是传递的第一个参数 。
  • process.env:返回包含环境名称与值的键值对对象 。比如process.env.NODE_ENV
  • process.cwd():返回当前的工作目录 。
  • process.platform:返回一个识别操作系统的字符串:'aix''darwin' (macOS),'freebsd' , 'linux''openbsd''sunos',或者'win32' (Windows) 。
  • process.uptime():返回Node.js进程已运行的秒数 。
  • process.cpuUsage():返回当前进程的用户和系统CPU时间的使用情况--例如{ user: 12345, system: 9876 } 。将该对象传给该方法,以获得一个相对的读数 。
  • process.memoryUsage():返回一个以字节为单位描述内存使用情况的对象 。
  • process.version:返回Node.js版本的字符串 。比如18.0.0
  • process.report:生成诊断报告 。
  • process.exit(code):退出当前应用程序 。使用退出码0来表示成功,或在必要时使用适当的错误代码 。
OS[OS](https://nodejs.org/dist/latest/docs/api/os.html)API与process类似 。但它也可以返回有关Node.js运行的操作系统的信息 。它提供了诸如操作系统版本、CPU和启动时间等信息 。
  • os.cpus():返回一个包含每个逻辑CPU核信息的对象数组 。Clusters部分引用os.cpus()来fork进程 。在一个16核CPU中,你会有16个Node.js应用程序的实例在运行以提高性能 。
  • os.hostname():操作系统主机名 。
  • os.version():标识操作系统内核版本的字符串 。
  • os.homedir():用户主目录的完整路径 。
  • os.tmpdir():操作系统默认临时文件目录的完整路径 。
  • os.uptime():操作系统已运行的秒数 。
Utilutil模块提供了各种有用的JavaScript方法 。其中最有用的是util.promisify(function) , 该方法接收错误优先类型的回调函数,并返回基于promise的函数 。Util模块还可以帮助处理一些常见模式,诸如解码文本、类型检查和检查对象 。