node.js - 每 X 秒控制台输出到 html 文件
问题描述
我有这段代码,结果在控制台中打印,我想将它们输出到 .html 文件中:
if (result.items.length > 0 && result.items[0].userName === player) {
const element = result.items[0];
const usrName = `<br>NickName: ${element.userName}`;
const rnk = `<br>Rank: ${element.rank}`;
const eloo = `<br>Elo: ${element.elo}`;
const winrt = `<br>Win rate: ${element.winPercent}%`;
console.log(usrName);
console.log(rnk);
console.log(eloo);
console.log(winrt);
found = true;
我在终端中使用node file.js > file.html来执行此操作,但我希望它每 x 秒自动发生一次。有什么办法吗?我还想覆盖最后一个输出文件。
解决方案
你的意思是把它打印到你正在查看的 html 页面上吗?
您可以在运行它的页面上放置一个 div<div id="output"></div>"
进而
setInverval(function() {
...
const usrName = `<br>NickName: ${element.userName}`;
const rnk = `<br>Rank: ${element.rank}`;
const eloo = `<br>Elo: ${element.elo}`;
const winrt = `<br>Win rate: ${element.winPercent}%`;
document.getElementById('output').innerHTML = usrName + rnk + eloo + winrt;
}, 5000);
但是如果您计划运行输出到文件的节点脚本,那么您必须设置超时,将间隔函数中的最后一行替换为:
require('fs').writeFile(
__dirname + "/file.html",
usrName + rnk + eloo + winrt,
'utf-8',
);
这将每 5 秒删除一次文件
...或者..如果您不想处理在节点中写入文件,我刚刚从https://unix.stackexchange.com/a/10650发现您可以去......
watch -n5 "node file.js > file.html "
它已经安装在我的系统上,但我猜它可能没有安装在你的系统上
推荐阅读
- oracle - Oracle:声明多个常量并在 WHERE 子句中使用它们
- mysql - 加快 mysql SQL 查询,但数据集庞大
- webrtc - RFC 8285 中解释的有关 RTP 扩展标头结构的问题
- python - Google API Drive V3 检索已使用的驱动器存储空间
- python - 如何检测加密字符串中的某些条件并解密?- Python
- android - 前台服务内容意图不是恢复应用程序而是重新启动它
- html - CSS div 自动调整内容大小,最大宽度和省略号文本
- angular - 如何在我的自定义库中启用 Bazel 的项目中使用 Angular 材料?
- google-sheets - 在 Google 表格中显示最后五行
- docker - docker中不尊重依赖关系