在本章中,我们将详细介绍Node.js中的常用方法。这些方法覆盖了文件系统操作、网络通信、事件处理、进程控制等多个方面。掌握这些方法对于开发高效、可靠的Node.js应用程序至关重要。
文件系统操作
fs.readFile(path[, options], callback)
fs.readFile() 方法用于异步读取文件内容。它接受一个路径和一个可选的选项对象作为参数,并通过回调函数返回结果。
const fs = require('fs');
fs.readFile('/etc/passwd', (err, data) => {
if (err) throw err;
console.log(data);
});fs.writeFile(file, data[, options], callback)
fs.writeFile() 方法用于异步写入文件内容。如果目标文件存在,则会被覆盖;如果不存在,则会创建新文件。
const fs = require('fs');
fs.writeFile('/tmp/hello', 'Hello Node.js', err => {
if (err) throw err;
console.log('It\'s saved!');
});fs.appendFile(file, data[, options], callback)
fs.appendFile() 方法用于向文件追加数据。如果文件不存在,则会创建新文件。
const fs = require('fs');
fs.appendFile('/tmp/hello', 'Hello again!', err => {
if (err) throw err;
console.log('Append it!');
});fs.unlink(path, callback)
fs.unlink() 方法用于删除指定路径的文件或符号链接。
const fs = require('fs');
fs.unlink('/tmp/hello', err => {
if (err) throw err;
console.log('Successfully deleted /tmp/hello');
});fs.mkdir(path[, options], callback)
fs.mkdir() 方法用于创建目录。如果目录已经存在,将会抛出错误。
const fs = require('fs');
fs.mkdir('/tmp/mydir', err => {
if (err) throw err;
console.log('Directory created!');
});fs.readdir(path, callback)
fs.readdir() 方法用于读取目录下的所有文件和子目录名。
const fs = require('fs');
fs.readdir('/tmp', (err, files) => {
if (err) throw err;
for (const file of files) {
console.log(file);
}
});网络通信
http.createServer([requestListener])
http.createServer() 方法用于创建一个HTTP服务器实例。它接收一个可选的请求监听器作为参数。
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
server.listen(8080);net.createServer([connectionListener])
net.createServer() 方法用于创建一个TCP或IPC服务器。它可以接收一个连接监听器作为参数。
const net = require('net');
const server = net.createServer(socket => {
socket.write('Echo server\r\n');
socket.pipe(socket);
});
server.listen(1337, '127.0.0.1');事件处理
events.EventEmitter
events.EventEmitter 类是Node.js事件模块的核心类,用于实现发布/订阅模式。
const EventEmitter = require('events');
const myEmitter = new EventEmitter();
myEmitter.on('event', () => {
console.log('an event occurred!');
});
myEmitter.emit('event');进程控制
process.exit([code])
process.exit() 方法用于立即终止当前进程。可以传递一个整数退出代码,默认为0。
process.exit(1);
process.cwd()
process.cwd() 方法用于获取当前工作目录。
console.log(process.cwd());
process.chdir(directory)
process.chdir() 方法用于更改当前工作目录。如果更改失败,将会抛出异常。
try {
process.chdir('/tmp');
} catch (err) {
console.log('Error changing directory: ' + err);
}以上是Node.js中一些常用的API方法介绍。掌握这些方法将帮助您更高效地进行Node.js应用开发。在实际项目中,您可以根据需要选择合适的方法来完成特定任务。希望本章对您的学习有所帮助!