在命令运行时以Grunt显示输出
Show output in Grunt as command runs?
这里没有输出,命令永远运行:
grunt.registerTask('serve', function () {
var done = this.async();
grunt.util.spawn({
cmd: 'jekyll',
args: ['serve'],
stdio: 'inherit'
}, function (err, res, exit_code) {
res.stdout && console.info(res.stdout);
exit_code && console.error(res.stderr);
done(err);
});
});
我想要输出(并且命令一直运行到出现错误或中断)。
感谢您的回答,@Lihau Tan很接近正确答案。
将这个答案与我的尝试结合起来,我提出了这个解决方案:
grunt.registerTask('serve', function () {
var child = grunt.util.spawn({
cmd: 'jekyll',
args: ['serve', '-P', process.env.PORT || 4001],
stdio: 'inherit'
}, this.async());
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
});
试试这个:
grunt.registerTask('serve', function(){
var done = this.async();
var child = grunt.util.spawn({
cmd: 'jekyll',
args: ['serve']
}, function(){
...
});
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
});
请参阅:Grunt派生的进程未捕获输出
您可以使用grunt log
以下功能可用
grunt.log.write(msg)
grunt.log.writeln([msg])
grunt.log.error([msg])
grunt.log.errorlns(msg)
grunt.log.ok([msg])
grunt.log.oklns(msg)
grunt.log.subhead(msg)
grunt.log.writeflags(obj, prefix)
grunt.log.debug(msg)
相关文章:
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 在命令运行时以Grunt显示输出
- 输入富文本以显示输出
- AJAX 不显示输出
- 使用 PHP 在同一页面中显示输出
- 'href'单击时不显示输出
- AngularJS问题未显示输出
- 可以't让localStorage在刷新时显示输出
- 如何在不刷新、显示输出、重新加载表单、冲洗和重复的情况下提交表单
- 此程序不显示输出
- 无法使用 javascript 中的函数在边框中显示输出
- 如何从excel文件中输入,并在速度计上显示输出
- 如何将两个日期之间的固定值更改为变量,并使用事件处理程序Javascript显示输出
- 显示输出计算的Javascript
- 无法用Jquery在Chrome控制台显示输出
- 在选择单选按钮后,如何根据所选的单选按钮显示输出
- jQuery AJAX在第一个PHP条件之后不显示输出
- Javascript只显示输出中的前4个字符
- console.log在Chrome浏览器中没有显示输出
- 为什么静态变量不显示输出