Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在gulp中有条件依赖关系吗?_Gulp - Fatal编程技术网

在gulp中有条件依赖关系吗?

在gulp中有条件依赖关系吗?,gulp,Gulp,我的构建脚本有两个要求: 当我运行gulp clean build时,clean必须在build 开始 如果我运行gulpbuild,则clean不应运行 因此,如果指定了clean,那么build应该等待它,否则启动 如果我这样做,第一部分是可能的 gulp.task('clean'); gulp.task('build', ['clean']); 然而,这违反了第2点 如果我这样做 gulp.task('clean'); gulp.task('build'); 这违反了第一点 这可能与大

我的构建脚本有两个要求:

  • 当我运行
    gulp clean build
    时,
    clean
    必须在
    build
    开始
  • 如果我运行
    gulpbuild
    ,则
    clean
    不应运行
  • 因此,如果指定了
    clean
    ,那么
    build
    应该等待它,否则启动

    如果我这样做,第一部分是可能的

    gulp.task('clean');
    gulp.task('build', ['clean']);
    
    然而,这违反了第2点

    如果我这样做

    gulp.task('clean');
    gulp.task('build');
    
    这违反了第一点

    这可能与大口喝有关吗?

    看起来您可以使用


    不能像使用依赖关系管理一样,使用同一命令运行两个gulp任务

    无论如何,您可以将一个参数传递给
    build
    任务,该任务将允许使用一点三元组,在运行之前等待
    clean
    任务完成

    比如说:

    gulp.task('build', (process.argv[3] === '--clean') ? ['clean'] : null, function () {
      ...
    });
    
    这样,您就可以使用

    gulp build
    
    当您想用
    clean
    调用它时:

    gulp build --clean
    
    有很多方法可以获得更好的参数处理,比如或env of。但是我发现我的方法很好,因为它不需要任何额外的依赖关系

    gulp build --clean