gpt4 book ai didi

node.js - 如何在 blessed 中重定向标准输出?

转载 作者:搜寻专家 更新时间:2023-10-31 22:25:53 26 4
gpt4 key购买 nike

长话短说:我想为开发守护进程构建一个 CLI。守护进程将不同类型的信息输出到标准输出,我想以可滚动的方式将该信息传递给屏幕区域中的用户。我正在努力让标准输出变得有福。下面的简单原型(prototype),它缓冲标准输出,因此信息永远不会完整。

var blessed = require('blessed');

var screen = blessed.screen(),
body = blessed.box({
top: 1,
left: 0,
width: '100%',
height: '99%'
}),
statusbar = blessed.box({
top: 0,
left: 0,
width: '100%',
height: 1,
style: {
fg: 'white',
bg: 'blue'
}
});

screen.append(statusbar);
screen.append(body);

screen.key(['escape', 'q', 'C-c'], function(ch, key) {
return process.exit(0);
});

function status(text) { statusbar.setContent(text); screen.render(); }
function log(text) { body.insertLine(0, text); screen.render(); }

status('TEST');

var spawn = require('child_process').spawn;

yes = spawn('yes', ['it is']);

ls.stdout.on('data', function (data) {
log(data.toString());
});

ls.stderr.on('data', function (data) {
log(data.toString());
});

最佳答案

线

var screen = blessed.screen()

获取参数以更改输入的来源以及输出的去向。从逻辑上讲,它们被命名为输入和输出:

var screen = blessed.screen({ input: some_input_stream, output: some_output_stream })

因此,您只需将可写(或双工)流插入输出参数即可。然后,您可以将输出通过管道传输到您希望的任何位置。

关于node.js - 如何在 blessed 中重定向标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29848217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com