2016-06-23 6 views
2

Ich benutze Schluck mit Python Kolben.Wie stdout und stderr child_process in Gulp verwenden

var gulp = require('gulp'); 
var spawn = require('child_process').spawn; 
var app = spawn('python', ['app.py']); 

gulp.task('runserver', function() { 
    app.stdout.on('data', (data) => { 
     console.log(`stdout: ${data}`); 
    }); 
    app.stderr.on('data', (data) => { 
     console.log(`stderr: ${data}`); 
    }); 
}); 

Aber alle Protokolle erhalten stderr. Wie wird die Ausgabe des untergeordneten Prozesses an die Konsole angepasst?

+0

Das gleiche Problem hier. Völlig verrückt. – CedX

Antwort

0

Da Sie in Node-Umgebung sind, können Sie stdout und stderr verwenden, indem Sie folgende

app.stdin.on('readable',() => { 
    var chunk = process.stdin.read(); 

    if (chunk !== null) { 
     process.stdout.write(`data: ${chunk}`); 
    } 
}); 
app.stdout.write(`${msg}\n`); 

Das Prozessobjekt ist ein globale, die Informationen über, und die Kontrolle über den aktuellen Node.js Prozess zur Verfügung stellt. Als globaler Knoten steht er Node.js-Anwendungen immer zur Verfügung, ohne require() zu verwenden.

können Sie auf diese Links verweisen: