关于 http-server 与在 NodeJS 中使用 http 的混淆

Confusion about http-server vs using http in NodeJS

我正在尝试使用 NodeJS 运行 一个 html 文件。我安装了一个名为 "http-server" 的命令行节点包。当我使用 http-server 运行 html 文件时,它打开得很好。

当我尝试使用 NodeJS 的 html 库托管相同的 html 文件时,我开始出现问题。我尝试使用下面的代码 运行ning 我的 html 文件,但它没有像我预期的那样工作。该网页只是一个空白的白页。

这是为什么? http-server 包做了哪些我的常规代码没有做的事情?

提前感谢您的帮助!

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

var html = fs.readFileSync('index.html');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end(html);
}).listen(8000);

fs.readFileSync('index.html');替换为fs.readFileSync(__dirname + '/index.html');(__dirname为项目所在目录)

我在创建 NodeJS 文件时似乎没有包含一些必要的文件。下面的代码解决了我的问题!

app.use(express.static(path.join(__dirname, 'FOLDER_NAME')));