Node.js 核心模块技术文档

本技术文档介绍了 Node.js 的核心模块,包括功能介绍和实际代码示例,旨在帮助开发者更高效地使用这些模块。


1. 文件系统模块 (fs)

fs 模块用于与文件系统交互,提供文件读取、写入等功能。

示例

  1. 读取文件内容
const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log(data);
});
  1. 写入文件内容
const fs = require('fs');

fs.writeFile('example.txt', 'Hello, World!', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('文件写入成功!');
});

2. 路径模块 (path)

path 模块用于处理文件和目录路径。

示例

  1. 拼接路径
const path = require('path');

const fullPath = path.join('/user', 'local', 'bin');
console.log(fullPath); // 输出: /user/local/bin
  1. 解析路径
const path = require('path');

const filePath = '/user/local/example.txt';

const parsed = path.parse(filePath);
console.log(parsed);

3. HTTP 模块 (http)

http 模块用于创建 HTTP 服务器和客户端。

示例

  1. 创建 HTTP 服务器
const http = require('http');

const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Hello, World!\n');
});

server.listen(3000, () => {
    console.log('服务器运行在 http://localhost:3000/');
});
  1. 发送 HTTP 请求
const http = require('http');

const options = {
    hostname: 'example.com',
    port: 80,
    path: '/',
    method: 'GET',
};

const req = http.request(options, (res) => {
    console.log(`状态码: ${res.statusCode}`);

    res.on('data', (chunk) => {
        console.log(`响应体: ${chunk}`);
    });
});

req.on('error', (error) => {
    console.error(`请求错误: ${error.message}`);
});

req.end();

4. 操作系统模块 (os)

os 模块提供与操作系统相关的实用方法和属性。

示例

  1. 获取系统信息
const os = require('os');

console.log('操作系统平台:', os.platform());
console.log('CPU 架构:', os.arch());
console.log('系统内存总量:', os.totalmem());

5. 加密模块 (crypto)

crypto 模块提供加密功能,包括哈希、加密和解密等。

示例

  1. 生成 SHA-256 哈希
const crypto = require('crypto');

const hash = crypto.createHash('sha256');
hash.update('Hello, Node.js!');
console.log('SHA-256 哈希值:', hash.digest('hex'));

6. URL 模块 (url)

url 模块用于解析和格式化 URL。

示例

  1. 解析 URL
const url = require('url');

const myURL = new URL('https://example.com:8000/path/name?query=value#hash');
console.log('主机名:', myURL.hostname); // 输出: example.com
console.log('路径名:', myURL.pathname); // 输出: /path/name
console.log('查询参数:', myURL.searchParams.get('query')); // 输出: value

7. 事件模块 (events)

events 模块用于实现事件驱动的编程。

示例

  1. 创建事件发射器
const EventEmitter = require('events');

const emitter = new EventEmitter();

emitter.on('greet', (name) => {
    console.log(`Hello, ${name}!`);
});

emitter.emit('greet', 'Alice');

8. 流模块 (stream)

stream 模块用于处理流数据。

示例

  1. 读取文件流
const fs = require('fs');

const readStream = fs.createReadStream('example.txt', 'utf8');
readStream.on('data', (chunk) => {
    console.log(`读取到数据: ${chunk}`);
});
readStream.on('end', () => {
    console.log('读取结束');
});

9. 查询字符串模块 (querystring)

querystring 模块用于解析和格式化 URL 查询字符串。

示例

  1. 解析查询字符串
const querystring = require('querystring');

const parsed = querystring.parse('name=Alice&age=30');
console.log(parsed.name); // 输出: Alice
console.log(parsed.age);  // 输出: 30

10. 子进程模块 (child_process)

child_process 模块用于创建子进程,以执行外部命令或脚本。

示例

  1. 执行外部命令
const { exec } = require('child_process');

exec('ls -l', (err, stdout, stderr) => {
    if (err) {
        console.error(`执行错误: ${err}`);
        return;
    }
    console.log(`标准输出:\n${stdout}`);
    console.error(`标准错误:\n${stderr}`);
});

这些核心模块为 Node.js 提供了强大的功能支持,帮助开发者高效地构建各种应用程序。

苏ICP备2025153828号