关于 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')));
我正在尝试使用 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')));