源代码用于2个项目,每个项目都有一些共同的代码。 我想通过gulp任务有条件地忽略模块/文件夹/目录。
当我关注它时效果很好
A
但是,我想有条件地这样做。 我还尝试使用gulp-filter的以下代码,这对我不起作用。
git checkout C
git rebase A
git checkout A
git merge C
# and optional to clean up no longer needed branches
git branch -d C
git push origin :C
答案 0 :(得分:1)
您的gulpfile只是JavaScript,因此您可以使用ternary operator有条件地排除gulp.src()
中的文件:
var isQA = $.yargs.argv.stage === 'qa';
gulp.task('default', function() {
return gulp.src([config.appMarkupFiles].concat((isQA) ? ['!app/settings{,/**}'] : []))
.pipe(gulp.dest('dist'));
});
使用gulp-filter
有效,但您的代码中有两个错误:
!app/settings{, /**}
和$.filter
。以下是使用gulp-filter
的工作解决方案:
var isQA = $.yargs.argv.stage === 'qa';
gulp.task('default', function() {
return gulp.src(config.appMarkupFiles)
.pipe($.if(isQA, $.filter(['!app/settings{,/**}'])))
.pipe(gulp.dest('dist'));
});