当前位置: 首页 > news >正文

Node.js 内置模块

1. fs 模块

用于与文件系统进行交互,支持文件的读取、写入、删除等操作。它是进行文件操作最常用的模块。

常用方法:

fs.readFile(path, encoding, callback): 异步读取文件。

fs.writeFile(path, data, encoding, callback): 异步写入数据到文件。

fs.appendFile(path, data, encoding, callback): 异步追加数据到文件。

fs.mkdir(path, callback): 创建目录。

fs.readdir(path, callback): 读取目录内容。

最常用的就是readFile和writeFile代码示例如下

const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {if (err) throw err;console.log(data);
});

2. http 模块

用于创建 HTTP 服务器,处理 HTTP 请求和响应。

常用方法:

http.createServer([options], requestListener): 创建一个 HTTP 服务器。

http.get(url, [options], callback): 发送 HTTP GET 请求。

http.request(options, callback): 发起 HTTP 请求,允许更多自定义设置。

我们可以利用它创造应该web服务器

const http = require('http');
const server = http.createServer((req, res) => {res.writeHead(200, { 'Content-Type': 'text/plain' });res.end('Hello, World!');
});
server.listen(8080, () => {console.log('Server is running at http://localhost:8080/');
});

3. url 模块

用于解析和处理 URL 地址。

常用方法:

url.parse(urlString, [parseQueryString], [slashesDenoteHost]): 解析一个 URL 字符串。

url.format(urlObject): 将 URL 对象格式化为字符串。

url.resolve(from, to): 解析两个路径,返回相对路径。

const url = require('url');
const myUrl = url.parse('https://www.example.com:8080/path?name=example#hash');
console.log(myUrl.hostname); // 'www.example.com'

5.events 模块

提供事件驱动的编程模型,允许你创建和处理事件

常用方法:

EventEmitter.emit(eventName, [...args]): 触发指定事件。

EventEmitter.on(eventName, listener): 为事件添加监听器。

EventEmitter.once(eventName, listener): 为事件添加一次性监听器。

const EventEmitter = require('events');
const eventEmitter = new EventEmitter();eventEmitter.on('greet', () => {console.log('Hello, world!');
});eventEmitter.emit('greet'); // 输出 'Hello, world!'

http://www.dtcms.com/a/303948.html

相关文章:

  • AR辅助前端设计:虚实融合场景下的设备维修指引界面开发实践
  • 学习Scala语言的最佳实践有哪些?
  • GCC、glibc、GNU C(gnuc)的关系
  • SkSurface---像素的容器:表面
  • PowerShell脚本自动卸载SQL Server 2025和 SSMS
  • 零基础-动手学深度学习-7.7 稠密连接网络(DenseNet)
  • 景区负氧离子环境监测系统云平台方案
  • 论文阅读:2024 arxiv AutoDefense: Multi-Agent LLM Defense against Jailbreak Attacks
  • 【OpenAI】ChatGPT辅助编码:Spring Boot + Copilot自动生成业务逻辑
  • 【MySQL】从连接数据库开始:JDBC 编程入门指南
  • Java优雅使用Spring Boot+MQTT推送与订阅
  • vue请求golang后端CORS跨域问题深度踩坑
  • 【STM32】FreeRTOS 任务消息队列 和 中断消息队列的区别(六)
  • 14 - 大语言模型 — 抽取式问答系统 “成长记”:靠 BERT 学本事,从文本里精准 “揪” 答案的全过程(呆瓜版-1号)
  • “非参数化”大语言模型与RAG的关系?
  • 云原生MySQL Operator开发实战(五):扩展与生态系统集成
  • python使用ffmpeg录制rtmp/m3u8推流视频并按ctrl+c实现优雅退出
  • DateTime::ToString 日期时间文本格式化深度解析(C++)
  • Mysql InnoDB存储引擎
  • 2.快速开始
  • Windows下基于 SenseVoice模型的本地语音转文字工具
  • 【Linux我做主】探秘进程状态
  • 聚铭安全管家平台2.0实战解码 | 安服篇(三):配置保障 自动核查
  • 从单机架构到分布式:Redis为何成为架构升级的关键一环?
  • OpenLayers 综合案例-底图换肤(变色)
  • DevOps 详解
  • Linux -- 文件【中】
  • CVE-2022-46169漏洞复现
  • DNS污染与劫持
  • 《林景媚与命运协议》