html - 关于 http-server 与在 NodeJS 中使用 http 的混淆
问题描述
我正在尝试使用 NodeJS 运行一个 html 文件。我安装了一个名为“http-server”的命令行节点包。当我使用 http-server 运行 html 文件时,它打开得很好。
当我尝试使用 NodeJS 的 html 库托管相同的 html 文件时,我开始出现问题。我尝试使用下面的代码运行我的 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 是项目所在的目录)
推荐阅读
- laravel - 如何在 Laravel Eloquent 中编写这个 MySQL 查询?
- video - 如何在 MP4 上叠加透明视频(mp4)?
- angular - 基于角度材料复选框的下一节可见性控制问题
- c# - 在每个线程中获取下一个值的正确方法是什么?
- google-cloud-platform - Google Cloud Dataflow 管道执行在刷新访问令牌期间挂起
- grails - 如何使用拦截器在不使用带有 grails 3 的 Spring Security 的情况下创建登录功能
- html - 将 HTML 标记中的文本提取为单个字符串
- jdbc - 是否可以使用 clickhouse-jdbc 驱动程序对 clickhouse 进行批量更新?
- mysql - 与特定行上mysql中其他列的列更新
- powershell - 如何设置 powershell 脚本以将 GPO 名称视为变量