- NodeJs从零开始学习计划
- NodeJs的介绍
- JavaScript 的基础知识
- NodeJs的安装及运行机制
- NodeJs常用模块
- NodeJs的文件读写及Http服务器的创建
- 回调函数及异步事件
- NodeJs的模块系统
- Web 开发基础
- NodeJs数据库交互
- NodeJs相关测试框架
- NodeJs安全
- NodeJs性能优化
- Node.js 中使用 GraphQL、WebSockets 和 Serverless
NodeJs常用模块
class NodeJs,fs,path学习 Node.js 的核心模块是掌握 Node.js 编程的关键步骤。以下是对 fs
、path
、http
、events
、os
、util
、stream
等核心模块的详细介绍和使用示例。
1. fs
模块(文件系统)
- 功能:
fs
模块提供了与文件系统进行交互的方法,包括文件的读写、删除、重命名等操作。 - 常用方法:
fs.readFile()
:异步读取文件内容。fs.writeFile()
:异步写入文件内容。fs.readdir()
:读取目录内容。fs.stat()
:获取文件或目录的状态信息。
示例:
const fs = require('fs');
// 读取文件
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
// 写入文件
fs.writeFile('output.txt', 'Hello, Node.js!', (err) => {
if (err) throw err;
console.log('File has been saved!');
});
2. path
模块
- 功能:
path
模块用于处理和转换文件路径。 - 常用方法:
path.join()
:拼接路径片段,生成规范化路径。path.resolve()
:将路径或路径片段解析为绝对路径。path.basename()
:返回路径的最后一部分(文件名)。path.extname()
:返回路径中文件的扩展名。
示例:
const path = require('path');
// 拼接路径
const fullPath = path.join(__dirname, 'folder', 'file.txt');
console.log(fullPath); // 输出: /当前路径/folder/file.txt
// 获取文件名
const fileName = path.basename(fullPath);
console.log(fileName); // 输出: file.txt
// 获取扩展名
const extName = path.extname(fullPath);
console.log(extName); // 输出: .txt
3. http
模块
- 功能:
http
模块提供了创建 HTTP 服务器和客户端的功能。 - 常用方法:
http.createServer()
:创建一个 HTTP 服务器对象。server.listen()
:服务器开始监听连接。
示例:
const http = require('http');
// 创建 HTTP 服务器
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!\n');
});
// 服务器监听端口 3000
server.listen(3000, () => {
console.log('Server running at http://127.0.0.1:3000/');
});
4. events
模块
- 功能:
events
模块提供了创建和监听事件的功能,是 Node.js 事件驱动架构的核心。 - 常用方法:
EventEmitter.on()
:绑定事件处理函数。EventEmitter.emit()
:触发事件。
示例:
const EventEmitter = require('events');
const myEmitter = new EventEmitter();
// 监听事件
myEmitter.on('event', () => {
console.log('An event occurred!');
});
// 触发事件
myEmitter.emit('event');
5. os
模块
- 功能:
os
模块提供了与操作系统相关的信息,如内存、CPU、平台等。 - 常用方法:
os.cpus()
:获取系统的 CPU 信息。os.totalmem()
:获取系统总内存。os.platform()
:获取操作系统平台。
示例:
const os = require('os');
console.log('Platform:', os.platform()); // 输出操作系统平台
console.log('Total Memory:', os.totalmem()); // 输出总内存
console.log('CPU Info:', os.cpus()); // 输出 CPU 信息
6. util
模块
- 功能:
util
模块提供了工具函数,用于处理和转换数据。 - 常用方法:
util.promisify()
:将回调风格的函数转换为返回 Promise 的函数。util.format()
:格式化字符串。
示例:
const util = require('util');
const fs = require('fs');
// 将 fs.readFile 转换为返回 Promise 的函数
const readFile = util.promisify(fs.readFile);
readFile('example.txt', 'utf8')
.then(data => console.log(data))
.catch(err => console.error(err));
7. stream
模块
- 功能:
stream
模块提供了处理流数据的接口,包括可读流、可写流、双工流和转换流。 - 常用方法:
fs.createReadStream()
:创建可读文件流。fs.createWriteStream()
:创建可写文件流。
示例:
const fs = require('fs');
// 创建可读流
const readable = fs.createReadStream('input.txt');
// 创建可写流
const writable = fs.createWriteStream('output.txt');
// 将可读流的数据通过管道传输到可写流
readable.pipe(writable);
总结
Node.js 的核心模块提供了丰富的功能,可以满足服务器端开发的大部分需求。通过掌握这些模块,你将能够更高效地处理文件、路径、网络请求、事件、操作系统信息等,从而构建出强大且高效的 Node.js 应用程序。
评论区
评论列表
{{ item.user.nickname || item.user.username }}