对于“停止和失败”部分:
这是一个使用 jshint 的功能示例:
var reporter = require('jshint-stylish');
var jshintRc = readJSON('.jshintrc');
// Implement asynchronous support returning the stream
gulp.task('myhinter', function() {
// All js in src
return gulp.src('./src/*.js')
// options from file
.pipe(jshint(jshintRc))
// like stylish reporter
.pipe(jshint.reporter(reporter))
// Our turn!
.pipe(map(function (file, cb) {
// Notify the callback "true" if it failed on the file
cb(!file.jshint.success, file);
}));
})
// Now, define thattask to depend on myhinter
gulp.task('thattask', ['myhinter'], function(e) {
console.warn('thattask is executing');
});
thattask
取决于任务的成功与否myhinter
。
反过来,myhinter 对文件执行 jshint,reporter 使用时尚,如果至少一个文件提示失败,则失败。
在这里,这是通过从 myhinter 任务返回流来实现的。
您可以在 Orchestrator 文档中看到更多相关信息:https ://github.com/robrich/orchestrator
我不使用摩卡,但稍后会看看如何做到这一点。
关于打开的文件太多,是在 OSX 上吗?如果是这样,如果有帮助,也许可以在这里看到。