假设我在gulpfile中有这个:
gulp.task('foo', ...);
gulp.task('bar', function () {
if (something) {
// how do I run task 'foo' here?
}
});
答案 0 :(得分:2)
使用已弃用但still working gulp.run
gulp.task('foo', ...)
gulp.task('bar', function () {
if (something) {
gulp.run('foo')
}
})
或者,使用任何使用任务名称作为参数的插件,例如run-sequence(无论如何,您可能需要以严格的顺序运行任务)。我通过这种方式有条件地调用我的任务(Gulp v3):
gulp.task('bar', (callback) => {
if (something) {
runSequence('foo', callback)
} else {
runSequence('foo', 'anotherTask', callback)
}
})
您的gulpfile
,即gulpfile.babel.js
for now,会将Gulp任务设置为导出函数,因此您可以直接调用它们:
export function foo () {
...
}
export function bar () {
if (something) {
foo()
}
}
答案 1 :(得分:0)
你可以让'bar'成为'foo'的依赖,并把条件放在'foo'中:
gulp.task('foo', function(){
if(something){...}
}, 'bar');
gulp.task('bar', function(){});
这种方式总是会在foo之前运行,而foo可以选择是否需要运行自己的逻辑。