我有一个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());
});
});