const http = require('http'); const fs = require('fs'); const path = require('path'); const server = http.createServer((req, res) => { // 获取请求的 URL const url = req.url; // 根据请求的 URL 返回对应的文件内容 if (url === '/login') { const filePath = path.join(__dirname, 'login.html'); fs.readFile(filePath, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/html'}); res.end('404 Not Found'); } else { res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); } }); } else if (url === '/regist') { const filePath = path.join(__dirname, 'regist.html'); fs.readFile(filePath, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/html'}); res.end('404 Not Found'); } else { res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); } }); } else if (url === '/index') { const filePath = path.join(__dirname, 'index.html'); fs.readFile(filePath, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/html'}); res.end('404 Not Found'); } else { res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); } }); } else { res.writeHead(404, {'Content-Type': 'text/html'}); res.end('404 Not Found'); } }); server.listen(3000, () => { console.log('Server is running at http://localhost:3000'); });
时间: 2024-03-07 15:53:33 浏览: 130
node.js中path路径模块的使用方法实例分析
这段代码是一个使用 Node.js 创建 HTTP 服务器的例子。这个服务器可以返回不同 URL 对应的 HTML 文件内容。具体来说,它做了以下几件事情:
1. 引入 `http`、`fs` 和 `path` 模块。
2. 使用 `http.createServer()` 方法创建一个 HTTP 服务器。
3. 在服务器的回调函数中,获取请求的 URL。
4. 根据 URL 返回对应的 HTML 文件内容。如果文件不存在,则返回 404 错误。
5. 使用 `server.listen()` 方法让服务器监听 3000 端口,并在控制台输出运行信息。
可以看到,这个例子的服务器比较简单,只能返回三个 HTML 文件的内容,如果请求的 URL 不是这三个文件,就返回 404 错误。在实际应用中,我们可能需要更加复杂的服务器逻辑,例如处理 POST 请求、处理 JSON 数据等等。不过这个例子可以帮助我们理解 Node.js 创建 HTTP 服务器的基本步骤。
阅读全文