当前位置: 首页 > 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.lryc.cn/news/603467.html

相关文章:

  • 安卓模拟器 adb Frida hook 抓包
  • uniapp如何封装uni.request 全局使用
  • 自适应双门限的能量检测算法
  • 2025年中科院1区SCI-冬虫夏草优化算法Caterpillar Fungus Optimizer-附Matlab免费代码
  • 09 RK3568 Debian11 ES8388 模拟音频输出
  • 电磁兼容(EMC):整改案例(十三)屏蔽外壳开孔解决433MHz无线通信问题
  • vue3+vite 使用liveplayer加载视频
  • 【学习路线】游戏开发大师之路:从编程基础到独立游戏制作
  • BehaviorTree.Ros2 编译教程
  • java导入pdf(携带动态表格,图片,纯java不需要模板)
  • 前端基础之《Vue(26)—Vue3两种语法范式》
  • Spring MVC数据传递全攻略
  • 黑客哲学之学习笔记系列(一)
  • bash变量名不能有连字符
  • mac 字体遍历demo
  • SpringBoot 的@Repository 等注解的底层实现原理
  • PostgreSQL锁机制详解:从并发控制到死锁检测
  • 分布式时序数据库的特点解析
  • 网络原理 - TCP/IP(一)
  • 字节序详解
  • TCP/IP 传输层详解
  • 【dropdown组件填坑指南】鼠标从触发元素到下拉框中间间隙时,下拉框消失,怎么解决?
  • 分布式链路追踪的实现原理
  • 查询mac 安装所有python 版本
  • 【Spring AI 1.0.0】Spring AI 1.0.0框架快速入门(5)——Tool Calling(工具调用)
  • 解决mac下git pull、push需要输入密码
  • 学习Scala语言的最佳实践有哪些?
  • 使用 Django REST Framework 构建强大的 API
  • CVE-2022-46169漏洞复现
  • Mysql Connect -- 详解