Web应用程序中的grunt任务的进度

时间:2015-05-19 13:04:05

标签: javascript angularjs node.js gruntjs

我用grunt构建了一个应用程序,我正在使用这个应用程序制作一个带有节点和角度的Web界面。 我创建了一个按钮,用NodeJS中的childProcess执行grunt任务:

child_process.exec(my-command-grunt[, options], callback)

它工作正常,但任务需要很长时间(约10秒)。出于这个原因,我当时展示了一个装载机,但我宁愿有一个进度条。如果有一种方法可以了解grunt任务运行时的进度,这将有助于我通过网页上的动态进度条替换我的加载程序。

非常感谢!

1 个答案:

答案 0 :(得分:0)

据我所知,目前正在运行的任务只能获得百分比进度。

但是有一个解决方案! child_process.exec将返回ChildProcess个实例。然后,您可以访问stdout和stderr流(通过child.stdout和child.stderr)。这些流是事件发射器,您可以侦听data事件并使用一些正则表达式来解析此输出。正则表达式可以是/Running "([^"]*)"/,然后您可以匹配其结果并向客户报告grunt的进度。