Skip to content
📈0️⃣

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 }'

上述示例展示了每个模块的部分功能和使用方法,你可以根据具体需求查阅更详细的文档来了解更多功能和用法。在实际应用中,这些内置库可用于处理文件操作、网络通信、数据加密、事件处理等常见任务。