我用grunt构建了一个应用程序,我正在使用这个应用程序制作一个带有节点和角度的Web界面。 我创建了一个按钮,用NodeJS中的childProcess执行grunt任务:
child_process.exec(my-command-grunt[, options], callback)
它工作正常,但任务需要很长时间(约10秒)。出于这个原因,我当时展示了一个装载机,但我宁愿有一个进度条。如果有一种方法可以了解grunt任务运行时的进度,这将有助于我通过网页上的动态进度条替换我的加载程序。
非常感谢!
答案 0 :(得分:0)
据我所知,目前正在运行的任务只能获得百分比进度。
但是有一个解决方案!
child_process.exec
将返回ChildProcess个实例。然后,您可以访问stdout和stderr流(通过child.stdout和child.stderr)。这些流是事件发射器,您可以侦听data
事件并使用一些正则表达式来解析此输出。正则表达式可以是/Running "([^"]*)"/
,然后您可以匹配其结果并向客户报告grunt的进度。