【发布时间】:2014-01-14 15:03:10
【问题描述】:
我目前正在尝试将我的 Grunt 文件转换为 Gulp 文件。我的第一次尝试是使用一个非常简单的文件,它只运行 JSHint 和 Mocha,并具有监视模式。我的第一个结果是相当……嗯……幻灭。
遇到了几个问题,希望有办法解决:
- 我意识到 Gulp 异步运行所有任务。如果我想等待任务完成,文档会告诉我使用回调、承诺或返回流。但是我如何使用
gulp-mocha和gulp-jshint做到这一点?这些插件支持吗? - 失败的
gulp-jshint并未使构建失败。如果gulp-jshint失败,我如何告诉 Gulp 停止继续? - 使用 Gulp 入门指南中所述的
watch模式会导致在运行gulp时出现Too many open files错误。知道可能出了什么问题吗?
(请注意,这里我故意没有说明源代码,因为前两个问题是一般问题,最后一个是默认文件。)
有什么帮助吗?
【问题讨论】:
-
这不是一个直接的答案。你应该尽量不要对抗 gulp 的异步行为。大多数时候,您可能只想在同一个文件上连续运行一堆任务。在这种情况下,您应该完成一项任务,而不是依赖临时文件。
-
这个问题不是针对异步执行,而是关于任务依赖的非常合理的需求(参见github.com/gulpjs/gulp/blob/master/docs/…) - 以及如何让 jshint 实际上失败。 OP 甚至没有提到临时文件...
-
Smashing Magazine 最近在using Gulp 上发布了一个方便的指南,您可能会发现和我一样有用。
标签: gruntjs mocha.js jshint gulp