Node.js 内置模块
内置模块是 Node.js 自带的模块,无需安装,直接 require 引入即可使用。
引入内置模块
JavaScript
// 直接使用模块名引入
const fs = require('fs');
const path = require('path');
const http = require('http');
常用内置模块概览
| 模块 | 功能 | 主要用途 |
|---|---|---|
| fs | 文件系统 | 文件读写、目录操作 |
| path | 路径处理 | 路径拼接、解析、格式化 |
| http | HTTP 服务 | 创建服务器、发送请求 |
| https | HTTPS 服务 | 安全 HTTP 通信 |
| events | 事件处理 | 自定义事件发射器 |
| util | 工具函数 | promisify、format、inspect |
| os | 操作系统 | 系统信息、CPU、内存 |
| crypto | 加密 | Hash、签名、加密 |
| stream | 流处理 | 文件流、网络流 |
| buffer | 二进制 | 处理二进制数据 |
| url | URL 处理 | 解析 URL 字符串 |
| querystring | 查询字符串 | 解析 URL 参数 |
| child_process | 子进程 | 执行外部命令 |
| net | 网络 | TCP/IPC 服务 |
fs 文件系统
JavaScript
const fs = require('fs');
// 读取文件
fs.readFile('file.txt', 'utf8', (err, data) => {
console.log(data);
});
// 写入文件
fs.writeFile('output.txt', 'content', (err) => {
console.log('写入完成');
});
// 获取文件信息
fs.stat('file.txt', (err, stats) => {
console.log(stats.size);
});
// 创建目录
fs.mkdir('newdir', (err) => {});
path 路径处理
JavaScript
const path = require('path');
// 拼接路径
const fullPath = path.join('/home', 'user', 'file.txt');
// 获取文件名
console.log(path.basename('/home/file.txt')); // file.txt
// 获取扩展名
console.log(path.extname('file.txt')); // .txt
// 获取目录名
console.log(path.dirname('/home/user/file.txt')); // /home/user
// 解析为绝对路径
console.log(path.resolve('./file.txt'));
http HTTP 服务
JavaScript
const http = require('http');
// 创建服务器
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World');
});
server.listen(3000, () => {
console.log('服务器启动');
});
// 发送请求
http.get('http://example.com', (res) => {
console.log(res.statusCode);
});
events 事件
JavaScript
const EventEmitter = require('events');
const emitter = new EventEmitter();
emitter.on('message', (data) => {
console.log(data);
});
emitter.emit('message', 'Hello');
os 操作系统信息
JavaScript
const os = require('os');
console.log(os.platform()); // win32, linux, darwin
console.log(os.arch()); // x64, arm64
console.log(os.cpus()); // CPU 信息数组
console.log(os.totalmem()); // 总内存(字节)
console.log(os.freemem()); // 可用内存
console.log(os.hostname()); // 主机名
console.log(os.userInfo()); // 用户信息
crypto 加密
JavaScript
const crypto = require('crypto');
// 创建 Hash
const hash = crypto.createHash('sha256');
hash.update('hello');
console.log(hash.digest('hex'));
// 创建随机 ID
const id = crypto.randomBytes(16).toString('hex');
util 工具函数
JavaScript
const util = require('util');
// promisify:回调转 Promise
const readFile = util.promisify(fs.readFile);
await readFile('file.txt', 'utf8');
// format:格式化字符串
console.log(util.format('%s: %d', 'Count', 42));
stream 流
JavaScript
const stream = require('stream');
const fs = require('fs');
// 创建可读流
const readStream = fs.createReadStream('large.txt');
// 创建可写流
const writeStream = fs.createWriteStream('output.txt');
// 管道传输
readStream.pipe(writeStream);
查看所有内置模块
JavaScript
// 列出 Node.js 所有内置模块
console.log(require('module').builtinModules);
// 或查看文档
// https://nodejs.org/api/
要点总结
- 内置模块无需安装,直接 require 引入
- fs 处理文件,path 处理路径,http 创建服务
- events 提供事件机制,crypto 提供加密功能
- os 获取系统信息,util 提供工具函数
- stream 处理大数据流式传输
📝 发现内容有误?点击此处直接编辑