我有一个名为 build 的 gulp 任务,它使用子任务将源代码的各个部分移动到构建文件夹:
gulp.task('build', ['jshint', 'templates', 'app', 'components', 'stylesheets', 'assets', 'index']);
gulp.task('app', ['clean-app'], function(){
return gulp.src(config.inputs.app)
.pipe(gulp.dest(config.outputs.root));
});
然后我想在 --env=prod 时添加一些额外的步骤,我用 gulp-if 做了:
gulp.task('app', ['clean-app'], function(){
return gulp.src(config.inputs.app)
**.pipe(gulpif(env === 'prod', uglify()))**
.pipe(gulp.dest(config.outputs.root));
});
这工作正常。我要做的最后一件事是 gulp-concat 来自这些子任务的所有 js 文件。我认为我可以使用 gulpif 从每个任务返回一个流,而不是去 gulp.dest,但我仍然需要以某种方式有条件地运行一个任务来组合这些流和 concat。
有一个更好的方法吗?