失败任务的 Grunt 并发循环

Grunt-concurrent Loops on Failed Task

我遇到了一个关于 Grunt-Concurrent 的有趣问题。当 Uglify 或 Karma 等注册任务运行无误时,一切都很好。但是,如果 Uglification 或 Karma 测试失败,那么 Grunt-Concurrent 将不断循环,直到错误被修复。这对 Uglify 来说很烦人,但是对于 Karma 单元测试来说,在错误修复之前很难让它循环。

有什么解决办法吗?

我无法提供确切设置的示例。

它将只保留 运行 这条消息,直到单元测试全部通过:

Running "watch:karma" (watch) task
Waiting...

Running "karma:unit:run" (karma) task
Firefox 39.0.0 (Mac OS X 10.10.0) it should work should work FAILED
Expected true to be false.
...: Executed 2 of 2 (1 FAILED) (0.007 secs / 0.004 secs)
Warning: Task "karma:unit:run" failed.

然后它一遍又一遍地运行它。

看起来问题实际上出在 grunt-contrib-watch 上,一旦我开始沿着那条路走下去,我就找到了答案。

我发现了这个很棒的 SO 问题:Prevent `grunt-watch` from looping when there is a syntax error in less files?

我发现通过更改 spawn: true 它不再像以前那样循环。