// 使用Node.js创建一个简单的HTTP服务器,提供前端资源
const http = require('http');
const fs = require('fs');
const path = require('path');
// 创建服务器
http.createServer((req, res) => {
// 定义静态文件目录
const staticDir = path.join(__dirname, 'static');
// 构建静态文件的完整路径
const filePath = path.join(staticDir, req.url);
// 读取文件并发送响应
fs.readFile(filePath, (err, data) => {
if (err) {
// 如果文件不存在,返回404状态码
if (err.code === 'ENOENT') {
res.statusCode = 404;
res.end('文件未找到');
return;
}
// 如果发生错误,返回500状态码
res.statusCode = 500;
res.end('服务器错误');
return;
}
// 设置内容类型
res.setHeader('Content-Type', 'text/html');
// 返回状态码200和文件内容
res.statusCode = 200;
res.end(data);
});
}).listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});这段代码创建了一个简单的HTTP服务器,用于提供静态文件。它使用Node.js的http模块来处理请求,并使用fs模块来读取文件。它还展示了如何使用path模块来处理路径问题,并且如何正确地处理可能发生的错误,提升了代码的健壮性。