node.js常用函数
以下是 Node.js 中常用的函数和方法,按照模块分类:
文章目录
- 1. 全局对象和常用函数
- 控制台输出
- 定时器
- 其他全局函数
- 2. 文件系统 (fs)
- 3. 路径处理 (path)
- 4. HTTP 模块
- 5. 工具类 (util)
- 6. URL 处理
- 7. 事件处理 (events)
- 8. 流处理 (stream)
- 9. 网络模块 (net)
- 10. 操作系统信息 (os)
- 11. 进程管理 (child_process)
- 12. 加密模块 (crypto)
- 13. 多线程 (worker_threads)
- 14. 集群 (cluster)
- 15. 断言测试 (assert)
1. 全局对象和常用函数
控制台输出
console.log() // 标准输出
console.error() // 错误输出
console.warn() // 警告输出
console.info() // 信息输出
console.debug() // 调试输出
console.table() // 表格形式输出
console.time() // 启动计时器
console.timeEnd() // 结束计时器并输出时间
定时器
setTimeout() // 延迟执行
setInterval() // 定时执行
setImmediate() // 立即执行(在事件循环的下一次迭代中)
clearTimeout() // 清除延迟执行
clearInterval() // 清除定时执行
clearImmediate() // 清除立即执行
其他全局函数
require() // 引入模块
process.exit() // 退出进程
process.cwd() // 获取当前工作目录
process.argv // 获取命令行参数
Buffer.from() // 创建 Buffer 对象
__dirname // 当前目录路径
__filename // 当前文件路径
2. 文件系统 (fs)
const fs = require('fs');// 异步方法
fs.readFile() // 读取文件
fs.writeFile() // 写入文件
fs.appendFile() // 追加文件内容
fs.unlink() // 删除文件
fs.rename() // 重命名文件
fs.stat() // 获取文件信息
fs.readdir() // 读取目录
fs.mkdir() // 创建目录
fs.rmdir() // 删除目录// 同步方法
fs.readFileSync()
fs.writeFileSync()
fs.existsSync() // 检查文件/目录是否存在// Promise 版本 (Node.js 14+)
const fsPromises = require('fs').promises;
fsPromises.readFile()
fsPromises.writeFile()
3. 路径处理 (path)
const path = require('path');path.join() // 连接路径
path.resolve() // 解析绝对路径
path.dirname() // 获取目录名
path.basename() // 获取文件名
path.extname() // 获取扩展名
path.parse() // 解析路径
path.format() // 格式化路径对象
4. HTTP 模块
const http = require('http');http.createServer() // 创建 HTTP 服务器
http.request() // 发起 HTTP 请求
http.get() // 发起 GET 请求// 服务器常用方法
server.listen() // 监听端口
server.close() // 关闭服务器// 请求和响应对象方法
req.on('data') // 接收数据
req.on('end') // 数据接收完成
res.writeHead() // 写入响应头
res.write() // 写入响应体
res.end() // 结束响应
5. 工具类 (util)
const util = require('util');util.promisify() // 将回调函数转换为 Promise
util.format() // 格式化字符串
util.inspect() // 对象检查
util.isArray() // 检查是否为数组
util.isObject() // 检查是否为对象
6. URL 处理
const url = require('url');url.parse() // 解析 URL
url.format() // 格式化 URL 对象
url.resolve() // 解析相对 URL// 新的 URL API (推荐)
const { URL } = require('url');
new URL() // 创建 URL 对象
7. 事件处理 (events)
const EventEmitter = require('events');emitter.on() // 注册事件监听器
emitter.once() // 注册一次性事件监听器
emitter.emit() // 触发事件
emitter.removeListener() // 移除事件监听器
emitter.removeAllListeners() // 移除所有事件监听器
8. 流处理 (stream)
const stream = require('stream');// 可读流
readable.on('data') // 数据可读时触发
readable.on('end') // 数据读取完成时触发
readable.pipe() // 管道连接// 可写流
writable.write() // 写入数据
writable.end() // 结束写入
writable.on('finish') // 写入完成时触发
9. 网络模块 (net)
const net = require('net');net.createServer() // 创建 TCP 服务器
net.connect() // 创建 TCP 连接
net.createConnection() // 创建 TCP 连接(别名)// Socket 常用方法
socket.write() // 发送数据
socket.end() // 关闭连接
socket.on('data') // 接收数据
socket.on('close') // 连接关闭
10. 操作系统信息 (os)
const os = require('os');os.platform() // 获取操作系统平台
os.arch() // 获取 CPU 架构
os.type() // 获取操作系统类型
os.uptime() // 获取系统运行时间
os.totalmem() // 获取总内存
os.freemem() // 获取空闲内存
os.cpus() // 获取 CPU 信息
os.networkInterfaces() // 获取网络接口信息
11. 进程管理 (child_process)
const { spawn, exec, execFile, fork } = require('child_process');spawn() // 启动子进程
exec() // 执行命令
execFile() // 执行可执行文件
fork() // 创建 Node.js 子进程// 子进程常用方法
child.stdout.on('data') // 监听标准输出
child.stderr.on('data') // 监听错误输出
child.on('close') // 进程关闭事件
12. 加密模块 (crypto)
const crypto = require('crypto');crypto.createHash() // 创建哈希对象
crypto.createHmac() // 创建 HMAC 对象
crypto.createCipher() // 创建加密对象
crypto.createDecipher() // 创建解密对象
crypto.randomBytes() // 生成随机字节
13. 多线程 (worker_threads)
const { Worker, isMainThread, parentPort, workerData } = require('worker_threads');new Worker() // 创建工作线程
parentPort.postMessage() // 发送消息
parentPort.on('message') // 接收消息
14. 集群 (cluster)
const cluster = require('cluster');cluster.fork() // 创建工作进程
cluster.isMaster // 是否为主进程
cluster.isWorker // 是否为工作进程
cluster.on('exit') // 监听进程退出
15. 断言测试 (assert)
const assert = require('assert');assert() // 基本断言
assert.strictEqual() // 严格相等断言
assert.deepStrictEqual() // 深度严格相等断言
assert.throws() // 断言抛出异常
assert.doesNotThrow() // 断言不抛出异常