Node.js
内置了很多核心模块,这些模块无需额外安装就可以直接使用,它们涵盖了多种常见功能,包括文件系统操作、网络通信、加密解密、HTTP服务器与客户端、事件驱动机制、路径处理、子进程管理、流处理等。以下是一些Node.js常用的内置模块介绍:
1. fs
- 文件系统模块
fs
模块提供了文件读写、目录操作、文件属性操作等一系列与文件系统相关的API。例如:
fs.readFile
和fs.writeFile
分别用于读取和写入文件内容。fs.mkdir
和fs.rmdir
用于创建和删除目录。fs.unlink
用于删除文件。
2. path
- 路径模块
path
模块提供了跨平台的路径处理函数,比如:
path.join
用来连接路径片段。path.basename
提供路径的基本名称(不包含路径)。path.dirname
返回路径的父目录名。path.extname
返回文件扩展名。
3. http
和 https
- HTTP/HTTPS模块
这两个模块提供了构建HTTP服务器和客户端的功能,可以用来创建web服务器、发送HTTP请求等。
4. events
- 事件模块
events
模块是Node.js的事件驱动模型的核心,所有的Node.js对象都是EventEmitter的实例,可以发射和监听事件。
5. util
- 工具模块
util
模块提供了通用的实用工具函数,如util.promisify
用于将回调函数转换为Promise,还有util.inspect
用于生成可读性好的对象表示形式。
6. crypto
- 加密模块
crypto
模块提供了加密、哈希、签名等多种加密解密算法的支持。
7. os
- 操作系统相关模块
os
模块提供了关于操作系统的信息,如CPU数量、内存使用情况、主机名等。
8. stream
- 流模块
stream
模块为Node.js的I/O操作提供了强大的流处理能力,使得大型数据能够被分割成小块进行高效处理。
9. process
- 进程模块
process
是全局可用的对象,代表了当前Node.js进程,提供了进程环境信息、事件处理、退出代码设定等功能。
10. timers
- 定时器模块
封装了setTimeout、setInterval等定时器功能。
11. url
- URL解析模块
提供了解析和格式化URL的功能。
12. 自Node.js 10.x版本以来新增的内置模块:
worker_threads
- 提供了多线程支持,能够在单个Node.js进程中创建辅助线程。util.promisify
- 上述提到过,从Node.js 8.0开始引入,用于将callback-style的函数转换为返回Promise的函数。
随着时间推移,Node.js不断迭代更新,新的内置模块也会逐渐加入进来,以增强其功能性和实用性。如您提及的Node.js 21.2.0版本中内置了WebSocket支持,意味着开发者可以更轻松地在Node.js中创建WebSocket服务器和客户端。