我有以下代码:
app.get('/scr', function(req, res) {
var command = spawn(scripts + "/script.sh");
command.stdout.on('data', function (data) {
res.send(data);
});
});
脚本输出Hello World!
。我希望在访问 http://localhost:XXXX/scr
时在浏览器上看到此输出。但是,这需要我下载一个包含 Hello World!
的文件。如何在浏览器上获取该输出?
最佳答案
data
事件可能会被多次触发,但 send
只能调用一次。不要使用 send
,而是使用 write
和 end
;或者,由于 command.stdout
是一个流,只需将其通过管道传输到响应中即可:
command.stdout.pipe(res);
不过,您可能需要在此之前显式设置 MIME 类型,例如:
res.type('text/plain');
关于javascript - NodeJS 中的脚本输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206156/