readFile html参数在节点中返回null

时间:2018-01-12 16:25:11

标签: javascript html node.js

当我运行下面的代码时,它会带来错误。我在console.log中记录了作为参数发送的html,它返回null。我如何整合html文件。

var http = require('http');
var fs = require('fs');

var hostname = '127.0.0.1'
var port = 3000;

fs.readFile("myFile.html", function(html, err){
    if(err){
        console.log(err);
    }
    var server = http.createServer((req, res) => {
        //says that everything is OK and working
        res.statusCode = 200;
        //Sets content type 
        res.setHeader("Content-Type", "text/plain")
        //Writes html
        res.write(html);
        //Ends 
        res.end();
    });

    server.listen(port, hostname, () => {
        console.log("Server Started on port " + port);
    });
})

1 个答案:

答案 0 :(得分:3)

您将fs.readFile个回调参数混淆了。 第一个参数为err第二个包含您的数据。

更改

fs.readFile("myFile.html", function(html, err) {

fs.readFile("myFile.html", function(err, html) {

此外,请记住,HTML不是text/plain,而是text/html

res.setHeader("Content-Type", "text/html")

无论如何,我猜你正在学习如何使用Node服务网站。我建议查看一个像express这样的图书馆,它真的让它不再那么痛苦。