- 使用
fs
模块读取文件并处理错误:
- 在Node.js中,可以使用
fs.readFile
方法来读取文件。它是一个异步操作,接受文件名、编码格式和回调函数作为参数。
- 回调函数的第一个参数是错误对象,如果读取文件过程中出现错误,该对象会被赋值,否则为
null
。
- 示例代码如下:
const fs = require('fs');
const path = require('path');
const filePath = path.join(__dirname, 'your - file - name.txt');
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
// 处理错误
console.error('读取文件错误:', err);
return;
}
// data就是读取到的文件内容
console.log('文件内容:', data);
});
- 将读取到的文件内容作为HTTP响应发送给客户端:
- 首先需要使用
http
模块创建一个HTTP服务器。
- 当服务器接收到请求时,读取文件内容,然后将内容作为响应发送给客户端。
- 示例代码如下:
const http = require('http');
const fs = require('fs');
const path = require('path');
const server = http.createServer((req, res) => {
const filePath = path.join(__dirname, 'your - file - name.txt');
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
res.statusCode = 500;
res.end('读取文件错误');
return;
}
res.setHeader('Content - Type', 'text/plain');
res.end(data);
});
});
const port = 3000;
server.listen(port, () => {
console.log(`服务器运行在端口 ${port}`);
});
- 在上述代码中:
http.createServer
创建一个HTTP服务器,回调函数(req, res)
处理每个请求。
fs.readFile
读取文件,如果出错,设置响应状态码为500并返回错误信息。
- 如果读取成功,设置响应头
Content - Type
为text/plain
(根据文件类型调整,比如text/html
等),然后将读取到的文件内容作为响应体发送给客户端。