4

我查看了所有文档和 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 中是否可能?

4

2 回答 2

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']);
});

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

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

乔拉尔夫

于 2014-08-19T08:33:50.667 回答
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']);
});
于 2015-10-08T19:00:38.250 回答