javascript - NodeJS 中的脚本输出

标签 javascript node.js express

我有以下代码:

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,而是使用 writeend;或者,由于 command.stdout 是一个流,只需将其通过管道传输到响应中即可:

command.stdout.pipe(res);

不过,您可能需要在此之前显式设置 MIME 类型,例如:

res.type('text/plain');

关于javascript - NodeJS 中的脚本输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206156/

相关文章:

Javascript IF block 被跳过

angularjs - 在 AngularJS 和 NodeJS 中 stash API key 并推送到 Git 和 Heroku

javascript - Node js async.series 不适用于 Express 应用程序 --- 响应发生得太快

node.js - mongodb 的 $in 函数在 Node js 中不起作用,除了 :(

node.js - 在express.js中使用jsonp作为node.js

angularjs - ExpressJS 与 AngularJS 路由配对,链接上没有标签

javascript - 如何将 jquery 变量的值获取到文本框字段中?

javascript - HTML5 : crazy canvas drawImage sizing

javascript - JQuery 设置 asp 文本框的值并在回传到服务器时获取值

javascript - 故事书构建每次都会失败