Node.js核心模块概览
fs
(文件系统)
用于与文件系统交互,例如读取和写入文件。
javascriptconst fs = require('fs');
// 读取文件
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});
// 写入文件
fs.writeFile('example.txt', 'Hello, Node.js!', (err) => {
if (err) {
console.error(err);
return;
}
console.log('File has been saved!');
});
http
用于创建HTTP服务器。
javascriptconst 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(8124, () => {
console.log('Server is running at http://localhost:8124');
});
path
提供用于处理文件和目录路径的工具。
javascriptconst path = require('path');
// 拼接路径
const filePath = path.join(__dirname, 'example.txt');
console.log(filePath); // 输出:例如:/Users/username/project/example.txt
// 获取文件扩展名
const extname = path.extname(filePath);
console.log(extname); // 输出:.txt
url
用于解析和操作URLs。
javascriptconst url = require('url');
const parsedUrl = url.parse('http://example.com/?name=value');
console.log(parsedUrl.hostname); // 输出:example.com
console.log(parsedUrl.query); // 输出:{ name: 'value' }
events
提供事件发射器功能,允许对象监听和触发事件。
javascriptconst EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
// 监听事件
myEmitter.on('event', () => {
console.log('An event occurred!');
});
// 触发事件
myEmitter.emit('event');
os
提供与操作系统交互的功能。
javascriptconst os = require('os');
console.log(`Total memory: ${os.totalmem()} bytes`);
console.log(`Free memory: ${os.freemem()} bytes`);
console.log(`OS type: ${os.type()}`);
querystring
用于解析和格式化URL查询字符串。
javascriptconst querystring = require('querystring');
// 解析查询字符串
const parsed = querystring.parse('name=value&age=25');
console.log(parsed); // 输出:{ name: 'value', age: '25' }
// 格式化对象为查询字符串
const obj = { name: 'Value', age: 25 };
const formatted = querystring.stringify(obj);
console.log(formatted); // 输出:name=Value&age=25
以上只是Node.js中一小部分核心模块的示例。实际上,还有更多的模块和第三方库可用于构建各种类型的应用程序。要深入了解这些模块和其他Node.js特性,我建议您查阅官方文档和相关的在线资源。