You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js HTTP模块问题:读取HTML文件后无法正常渲染

问题解决:Node.js http服务器无法渲染HTML文件,显示字符串"1.html"

你的代码里已经通过fs.readFileSync('1.html')把HTML文件内容读取到了fileContent变量,但在响应结束时,你传给res.end()的是字符串'1.html',而不是读取到的文件内容变量,所以浏览器只会显示这个字符串,不会渲染HTML。

修正后的代码

JavaScript

const http = require('http')
const fs = require("fs")
const fileContent = fs.readFileSync('1.html')

const server = http.createServer((req, res)=>{
    res.writeHead(200, {'content-type':'text/html'});
    // 把字符串'1.html'替换为读取到的文件内容变量fileContent
    res.end(fileContent)
})

server.listen(80, '127.0.0.1',()=>{
    console.log(`Server running at http://${ "127.0.0.1"}:${80}/`);
})

补充注意事项

  • 确保1.html文件和你的Node.js脚本在同一目录下,否则需要传入正确的文件路径(比如绝对路径fs.readFileSync('./path/to/1.html'))
  • 可以添加错误处理,避免文件不存在时服务器崩溃:
    let fileContent;
    try {
      fileContent = fs.readFileSync('1.html')
    } catch (err) {
      console.error('读取文件失败:', err)
    }
    
    const server = http.createServer((req, res)=>{
        if (!fileContent) {
            res.writeHead(404, {'content-type':'text/plain'});
            return res.end('文件不存在')
        }
        res.writeHead(200, {'content-type':'text/html'});
        res.end(fileContent)
    })
    

内容的提问来源于stack exchange,提问作者JPT3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:27:27