JavaScript (Node.js) 标准库:完整概述

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

JavaScript (Node.js) 标准库:完整概述



Node.js 是一个基于 Google V8 引擎的 JavaScript 运行时环境。其主要优势之一在于拥有丰富的标准库,提供了现成的模块来解决各种任务:从文件系统操作到创建 HTTP 服务器。本文将详细解析 Node.js 标准库中的关键模块,展示其使用示例,并说明何时应用哪个模块。



1. fs 模块 (文件系统)

fs 模块允许操作文件系统:读取、写入、删除文件和目录,以及监视更改。它同时提供同步和异步方法。



const fs = require('fs');

// 异步读取文件fs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});

// 同步写入文件fs.writeFileSync('output.txt', 'Hello, Node.js!');


  • fs.readFile() — 异步读取文件。
  • fs.writeFileSync() — 同步写入数据到文件。
  • fs.mkdir() — 创建目录。
  • fs.unlink() — 删除文件。


2. path 模块

path 模块提供了处理文件和目录路径的实用工具。它能自动处理不同操作系统(Windows、Linux、macOS)之间的差异。



const path = require('path');

const filePath = '/home/user/docs/file.txt';console.log(path.dirname(filePath)); // /home/user/docsconsole.log(path.basename(filePath)); // file.txtconsole.log(path.extname(filePath)); // .txt


  • path.join() — 连接路径片段。
  • path.resolve() — 将相对路径转换为绝对路径。
  • path.normalize() — 规范化路径(去除多余的 .. 和 .)。


3. http 模块

http 模块允许创建 HTTP 服务器和客户端。这是构建 Web 应用和 API 的基础。



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('服务器已启动,端口 3000');});


  • http.createServer() — 创建服务器实例。
  • http.request() — 向外部资源发起 HTTP 请求。
  • http.get() — request() 的简化版本,用于 GET 请求。


4. events 模块

events 模块实现了“观察者”模式。它允许创建自定义事件并订阅它们。大多数 Node.js 对象(例如流、服务器)都继承自 EventEmitter。



const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();myEmitter.on('event', () => { console.log('事件发生了!');});myEmitter.emit('event');


  • emitter.on() — 订阅事件。
  • emitter.emit() — 触发事件。
  • emitter.once() — 订阅一次性事件。


5. stream 模块

流(streams)是 Node.js 中处理数据的基本概念,数据以块的形式而非整体进行处理。这对于

推荐