Normalement, dans Gulp, les tâches ressemblent à ceci :
gulp.task('my-task', function() {
return gulp.src(options.SCSS_SOURCE)
.pipe(sass({style:'nested'}))
.pipe(autoprefixer('last 10 version'))
.pipe(concat('style.css'))
.pipe(gulp.dest(options.SCSS_DEST));
});
Est-il possible de passer un drapeau de ligne de commande à gulp (qui n'est pas une tâche) et de faire en sorte qu'il exécute des tâches de manière conditionnelle en fonction de cela ? Par exemple
$ gulp my-task -a 1
Et ensuite dans mon gulpfile.js :
gulp.task('my-task', function() {
if (a == 1) {
var source = options.SCSS_SOURCE;
} else {
var source = options.OTHER_SOURCE;
}
return gulp.src(source)
.pipe(sass({style:'nested'}))
.pipe(autoprefixer('last 10 version'))
.pipe(concat('style.css'))
.pipe(gulp.dest(options.SCSS_DEST));
});
11 votes
Comme il s'exécute en node, vous pourriez probablement utiliser
process.argv
pour accéder aux arguments de la ligne de commande.