Node 内置库的用法
fs
模块
文件系统操作相关
javascript
const fs = require("fs");
// 读取文件
fs.readFile("file.txt", "utf8", (err, data) => {
if (err) throw err;
console.log(data);
});
// 写入文件
fs.writeFile("file.txt", "Hello, world!", (err) => {
if (err) throw err;
console.log("File written successfully.");
});
// 创建目录
fs.mkdir("new_dir", (err) => {
if (err) throw err;
console.log("Directory created successfully.");
});
http
模块
创建 HTTP 服务器和客户端
javascript
const http = require("http");
// 创建 HTTP 服务器
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader("Content-Type", "text/plain");
res.end("Hello, world!");
});
server.listen(3000, () => {
console.log("Server running on port 3000");
});
url
模块
解析和格式化 URL
javascript
const url = require("url");
const myUrl = new URL("https://example.com/path?id=123");
console.log(myUrl.hostname); // 输出: 'example.com'
console.log(myUrl.pathname); // 输出: '/path'
console.log(myUrl.search); // 输出: '?id=123'
const parsedUrl = url.parse("https://example.com/");
console.log(parsedUrl.host); // 输出: 'example.com'
path
模块
处理文件和目录的路径
javascript
const path = require("path");
const filePath = "/path/to/file.txt";
console.log(path.basename(filePath)); // 输出: 'file.txt'
console.log(path.dirname(filePath)); // 输出: '/path/to'
console.log(path.extname(filePath)); // 输出: '.txt'
console.log(path.resolve(__dirname, "foo")); // 输出: '/当前目录/foo'
os
模块
获取操作系统相关信息
javascript
const os = require("os");
console.log(os.platform()); // 输出: 'darwin' (macOS)
console.log(os.cpus()); // 输出: CPU 信息
console.log(os.totalmem()); // 输出: 总内存大小
events
模块
处理事件
javascript
const EventEmitter = require("events");
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on("event", () => {
console.log("Event emitted!");
});
myEmitter.emit("event"); // 触发事件,输出: 'Event emitted!'
stream
模块
处理流数据
javascript
const fs = require("fs");
const readStream = fs.createReadStream("input.txt", "utf8");
const writeStream = fs.createWriteStream("output.txt");
readStream.pipe(writeStream);
crypto
模块
处理加密解密
javascript
const crypto = require("crypto");
const hash = crypto.createHash("sha256");
hash.update("Hello, world!");
const digest = hash.digest("hex");
console.log(digest); // 输出: '2ef7bde608ce5404e97d5f042f95f89f1c232871'
util
模块
处理实用工具
javascript
const util = require("util");
const obj = { name: "John", age: 25 };
console.log(util.inspect(obj)); // 输出: '{ name: 'John', age: 25 }'
上述示例展示了每个模块的部分功能和使用方法,你可以根据具体需求查阅更详细的文档来了解更多功能和用法。在实际应用中,这些内置库可用于处理文件操作、网络通信、数据加密、事件处理等常见任务。