当我运行下面的代码时,它会带来错误。我在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);
});
})
答案 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这样的图书馆,它真的让它不再那么痛苦。