我使用gulp和python flask。
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}`);
});
});
但是所有日志都会转到stderr。 如何将子进程的输出调整到控制台?
答案 0 :(得分:0)
由于您处于Node环境中,您可以通过以下方式使用stdout和stderr
app.stdin.on('readable', () => {
var chunk = process.stdin.read();
if (chunk !== null) {
process.stdout.write(`data: ${chunk}`);
}
});
app.stdout.write(`${msg}\n`);
流程对象是一个全局流程,它提供有关当前Node.js流程的信息并对其进行控制。作为一个全局,它始终可用于Node.js应用程序而不使用require()。
您可以参考以下链接: