跳过在Gulp中列为依赖关系的任务

时间:2014-08-19 01:51:26

标签: gulp gulp-watch

我查看了所有文档和NPM,试图找到解决方案,但我没有运气。我希望可以选择在运行特定任务时跳过我列为依赖项的任务。例如,如果我有以下内容:

gulp.task('prerun', function(){
  // do cleaning, installation, etc.
});

gulp.task('run', ['prerun'], function(){
  // do stuff
});

gulp.task('watch', function(){
  gulp.watch('glob/glob/**', ['run']);
});

我希望能够让gulp.watch执行run,而不必触及prerun中涉及的开销。这在Gulp有可能吗?

2 个答案:

答案 0 :(得分:0)

什么是辅助任务?我使用这种方法来消除我的监视任务中的任何依赖。您的示例可能如下所示:

gulp.task('prerun', function(){
    // do cleaning, installation, etc.
});

gulp.task('run', ['prerun'], function(){
    gulp.start('run-dev');
});

gulp.task('run-dev', function() {
    // do the run stuff
});

gulp.task('watch', function(){
    gulp.watch('glob/glob/**', ['run-dev']);
});

预运行任务,如果需要,您还可以将其用作监视任务的依赖项:

gulp.task('watch', ['prerun'], function(){
    gulp.watch('glob/glob/**', ['run-dev']);
});

侨 拉尔夫

答案 1 :(得分:0)

不使用gulp.start,您可以尝试:

gulp.task('prerun', function(){
    // do cleaning, installation, etc.
});

// run all dependencies while keeping run-dev as a separate task
gulp.task('run', ['prerun', 'run-dev']);

gulp.task('run-dev', function() {
    // do the run stuff
});

gulp.task('watch', ['run'], function(){
    gulp.watch('glob/glob/**', ['run-dev']);
});