以下是 Node.js 中常用的函数和方法,按照模块分类:
文章目录
-
- [1. 全局对象和常用函数](#1. 全局对象和常用函数)
- [2. 文件系统 (fs)](#2. 文件系统 (fs))
- [3. 路径处理 (path)](#3. 路径处理 (path))
- [4. HTTP 模块](#4. HTTP 模块)
- [5. 工具类 (util)](#5. 工具类 (util))
- [6. URL 处理](#6. URL 处理)
- [7. 事件处理 (events)](#7. 事件处理 (events))
- [8. 流处理 (stream)](#8. 流处理 (stream))
- [9. 网络模块 (net)](#9. 网络模块 (net))
- [10. 操作系统信息 (os)](#10. 操作系统信息 (os))
- [11. 进程管理 (child_process)](#11. 进程管理 (child_process))
- [12. 加密模块 (crypto)](#12. 加密模块 (crypto))
- [13. 多线程 (worker_threads)](#13. 多线程 (worker_threads))
- [14. 集群 (cluster)](#14. 集群 (cluster))
- [15. 断言测试 (assert)](#15. 断言测试 (assert))
1. 全局对象和常用函数
控制台输出
javascript
console.log() // 标准输出
console.error() // 错误输出
console.warn() // 警告输出
console.info() // 信息输出
console.debug() // 调试输出
console.table() // 表格形式输出
console.time() // 启动计时器
console.timeEnd() // 结束计时器并输出时间
定时器
javascript
setTimeout() // 延迟执行
setInterval() // 定时执行
setImmediate() // 立即执行(在事件循环的下一次迭代中)
clearTimeout() // 清除延迟执行
clearInterval() // 清除定时执行
clearImmediate() // 清除立即执行
其他全局函数
javascript
require() // 引入模块
process.exit() // 退出进程
process.cwd() // 获取当前工作目录
process.argv // 获取命令行参数
Buffer.from() // 创建 Buffer 对象
__dirname // 当前目录路径
__filename // 当前文件路径
2. 文件系统 (fs)
javascript
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)
javascript
const path = require('path');
path.join() // 连接路径
path.resolve() // 解析绝对路径
path.dirname() // 获取目录名
path.basename() // 获取文件名
path.extname() // 获取扩展名
path.parse() // 解析路径
path.format() // 格式化路径对象
4. HTTP 模块
javascript
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)
javascript
const util = require('util');
util.promisify() // 将回调函数转换为 Promise
util.format() // 格式化字符串
util.inspect() // 对象检查
util.isArray() // 检查是否为数组
util.isObject() // 检查是否为对象
6. URL 处理
javascript
const url = require('url');
url.parse() // 解析 URL
url.format() // 格式化 URL 对象
url.resolve() // 解析相对 URL
// 新的 URL API (推荐)
const { URL } = require('url');
new URL() // 创建 URL 对象
7. 事件处理 (events)
javascript
const EventEmitter = require('events');
emitter.on() // 注册事件监听器
emitter.once() // 注册一次性事件监听器
emitter.emit() // 触发事件
emitter.removeListener() // 移除事件监听器
emitter.removeAllListeners() // 移除所有事件监听器
8. 流处理 (stream)
javascript
const stream = require('stream');
// 可读流
readable.on('data') // 数据可读时触发
readable.on('end') // 数据读取完成时触发
readable.pipe() // 管道连接
// 可写流
writable.write() // 写入数据
writable.end() // 结束写入
writable.on('finish') // 写入完成时触发
9. 网络模块 (net)
javascript
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)
javascript
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)
javascript
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)
javascript
const crypto = require('crypto');
crypto.createHash() // 创建哈希对象
crypto.createHmac() // 创建 HMAC 对象
crypto.createCipher() // 创建加密对象
crypto.createDecipher() // 创建解密对象
crypto.randomBytes() // 生成随机字节
13. 多线程 (worker_threads)
javascript
const { Worker, isMainThread, parentPort, workerData } = require('worker_threads');
new Worker() // 创建工作线程
parentPort.postMessage() // 发送消息
parentPort.on('message') // 接收消息
14. 集群 (cluster)
javascript
const cluster = require('cluster');
cluster.fork() // 创建工作进程
cluster.isMaster // 是否为主进程
cluster.isWorker // 是否为工作进程
cluster.on('exit') // 监听进程退出
15. 断言测试 (assert)
javascript
const assert = require('assert');
assert() // 基本断言
assert.strictEqual() // 严格相等断言
assert.deepStrictEqual() // 深度严格相等断言
assert.throws() // 断言抛出异常
assert.doesNotThrow() // 断言不抛出异常