面试题答案
一键面试- 引入必要模块:
const http = require('http'); const fs = require('fs');
http
模块用于创建HTTP服务器。fs
模块用于文件系统操作,这里用于读取HTML文件。
- 创建HTTP服务器:
const server = http.createServer((req, res) => { fs.readFile('index.html', 'utf8', (err, data) => { if (err) { res.statusCode = 500; res.end('Error reading file'); } else { res.statusCode = 200; res.setHeader('Content-Type', 'text/html'); res.end(data); } }); });
http.createServer
创建一个HTTP服务器实例,回调函数接收req
(请求对象)和res
(响应对象)。fs.readFile
异步读取index.html
文件,'utf8'
指定编码格式。回调函数中,如果读取文件出错,设置响应状态码为500并返回错误信息;如果读取成功,设置响应状态码为200,设置Content - Type
为text/html
,然后将读取到的文件内容作为响应体返回。
- 监听端口:
const port = 3000; server.listen(port, () => { console.log(`Server running on port ${port}`); });
server.listen
使服务器监听指定端口(这里是3000),并在服务器启动成功时打印日志。