前言在构建你的第一个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任何数量的相同进程,以更有效地处理负载 。
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](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()
:操作系统已运行的秒数 。
promise
的函数 。Util
模块还可以帮助处理一些常见模式,诸如解码文本、类型检查和检查对象 。util.callbackify(function)
:接收一个返回promise
的函数,并返回一个基于回调的函数 。
util.isDeepStrictEqual(object1, object2)
:当两个对象严格相等(所有子属性必须匹配)时返回true
。
util.format(format, [args])
:返回一个使用类printf格式的字符串 。
util.inspect(object, options)
:返回一个对象的字符串表示 , 用于调试 。与使用console.dir(object, { depth: null, color: true });
类似 。
util.stripVTControlCharacters(str)
:剥离字符串中的ANSI转义代码 。
util.types
:为常用的JavaScript和Node.js值提供类型检查 。比如:推荐阅读
- 原神没有课题的答案任务是什么
- 平价好用的眼影有哪些?2018眼影排行榜十强
- 华为手机要恢复出厂设置的利弊(华为手机恢复出厂设置有问题吗)
- 赛马娘手游特雷森学院特别任务有哪些
- 红米note11和小米11有什么区别_哪款值得入手
- 怎样看电脑配置高低,决定电脑价格的因素有哪些
- 惠普星13air缺点_惠普星13air有哪些问题
- Java:既然有了synchronized,为什么还要提供Lock?
- 原神坎蒂丝天赋升级材料有哪些
- 四年级数学脱式计算题 四年级数学脱式计算题500道