在本章中,我们将详细介绍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应用开发。在实际项目中,您可以根据需要选择合适的方法来完成特定任务。希望本章对您的学习有所帮助!