gpt4 book ai didi

node.js - 在 node.js 和 browserify 中将子进程标准输出和标准输入通过管道传输到浏览器

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

我正在尝试将 child_process 的标准输出和标准输入通过管道传输到浏览器并将其显示在 html 页面中。我正在使用 browserify 让 node.js 在浏览器上运行。我生成 child_process 的代码是这样的。

var child = require('child_process');

var myREPL = child.spawn('myshell.exe', ['args']);

// myREPL.stdout.pipe(process.stdout, { end: false });

process.stdin.resume();

process.stdin.pipe(myREPL.stdin, { end: false });

myREPL.stdin.on('end', function() {
process.stdout.write('REPL stream ended.');
});

myREPL.on('exit', function (code) {
process.exit(code);
});

myREPL.stdout.on('data', function(data) {
console.log('\n\nSTDOUT: \n');
console.log('**************************');
console.log('' + data);
console.log('==========================');
});

我使用 browserify 创建了一个 bundle.js,我的 html 看起来像这样。

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="bundle.js"></script>
<script src="main.js"></script>
</head>
<body>

</body>
</html>

我试图避免运行 http 服务器并将结果通过管道传输到浏览器中。还有其他方法可以做到吗?谢谢

最佳答案

你应该看看hyperwatch ,它将服务器端的 stdout/stderr 通过管道传输到浏览器并呈现它就像它在您的终端中出现的一样(包括颜色)。

如果它不能完全解决您的问题,通读代码至少应该对您有所帮助。它使用 hypernal在引擎盖下,以便将终端输出转换为 html。

关于node.js - 在 node.js 和 browserify 中将子进程标准输出和标准输入通过管道传输到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17308670/

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