一些一饮而尽任务假设我有这在我的gulpfile:如何运行基于条件
gulp.task('foo', ...);
gulp.task('bar', function() {
if (something) {
// how do I run task 'foo' here?
}
});
一些一饮而尽任务假设我有这在我的gulpfile:如何运行基于条件
gulp.task('foo', ...);
gulp.task('bar', function() {
if (something) {
// how do I run task 'foo' here?
}
});
你可以做“酒吧”的“富”的依赖,并把条件“富”里面:
gulp.task('foo', function(){
if(something){...}
}, 'bar');
gulp.task('bar', function(){});
这种方式栏将始终运行在foo之前,并且foo可以选择是否需要运行自己的逻辑。
没有真正回答我的问题 –
使用过时但still workinggulp.run
gulp.task('foo', ...)
gulp.task('bar', function() {
if (something) {
gulp.run('foo')
}
})
另外,使用使用任何插件消耗任务名作为参数,如run-sequence例如(你可能会需要反正运行任务按照严格的顺序进行)。我打电话给我的任务,有条件这样(咕嘟咕嘟V3):
gulp.task('bar', (callback) => {
if (something) {
runSequence('foo', callback)
} else {
runSequence('foo', 'anotherTask', callback)
}
})
你gulpfile
,就是gulpfile.babel.js
for now,将设置咕嘟咕嘟任务导出功能,这样你就直接打电话给他们:
export function foo() {
...
}
export function bar() {
if (something) {
foo()
}
}
[gulp-if](https://github.com/robrich/gulp-if)怎么样? –
@AnilNatha我想这会工作,但为什么这是必要的?为什么我不能只使用普通的'if',然后使用一些代码来运行其他任务? –
我认为开发人员决定避免使用if语句编写大量任务。吞咽管道是一种干净优雅的解决方案。 如果任务大不相同,将它们分成两个独立的任务。 如果存在细微的差异(例如添加源图或不缩小),gulp-if是一个很好的解决方案,因为整个任务仍然执行相同的工作(缩小代码) –