NodeJS中的脚本输出

时间:2014-10-05 19:04:18

标签: 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!的文件。如何在浏览器上获得该输出?

2 个答案:

答案 0 :(得分:2)

data事件可能会被多次触发,但send只能被调用一次。不要使用send,而是使用writeend;或者,由于command.stdout是一个流,只需将其传递到响应中:

command.stdout.pipe(res);

您可能希望在此之前显式设置MIME类型,例如:

res.type('text/plain');

答案 1 :(得分:0)

您需要设置内容类型。

res.set('Content-Type', 'text/plain');