使用gulp输出运行长时间运行的可执行文件

时间:2016-10-25 08:16:05

标签: gulp

我有一个gulp-run任务来运行带参数的.exe

var gulp = require("gulp");
var run = require('gulp-run');

gulp.task("browserstack", function (done) {
    run("BrowserStackLocal.exe fooo localhost,4200,0").exec().pipe(gulp.dest('output'));
});

这很好用,我得到输出:

  gulp browserstack   [10:08:36]使用gulpfile C:\ bar \ gulpfile.js   [10:08:36]开始' browserstack' ...

但.exe是长期运行的,同时它也有自己的输出到stdout。当我从命令行运行它时(没有gulp)它会显示"运行,按cntrl-c停止" 。我正在做的是等待它完成,然后将其写入文件,这是不对的。

如何在输出时将输出传输到gulp命令行?

是重复的,这是我的(仅限Windows)解决方案:

gulp.task("browserstacklocal", function () {

    var bslocal = spawn('BrowserStackLocal.exe', ['foo', 'localhost,4200,0']);
    bslocal.stdout.on('data', function (data) {
    console.log('stdout: ' + data.toString());
    });
    bslocal.stderr.on('data', function (data) {
    console.log('stderr: ' + data.toString());
    });
    bslocal.on('exit', function (code) {
    console.log('child process exited with code ' + code.toString());
    });
});

0 个答案:

没有答案