Si vous voulez éviter d'ajouter des dépendances supplémentaires, j'ai trouvé les nœuds process.argv
utiles:
gulp.task('mytask', function() {
console.log(process.argv);
});
Donc, ce qui suit:
gulp mytask --option 123
devrait afficher:
[ 'node', 'path/to/gulp.js', 'mytask', '--option', '123']
Si vous êtes sûr que le paramètre souhaité est dans la bonne position, les drapeaux ne sont pas nécessaires. ** Utilisez simplement (dans ce cas):
var option = process.argv[4]; //set to '123'
MAIS: comme l'option peut ne pas être définie, ou peut être dans une position différente, je pense qu'une meilleure idée serait quelque chose comme:
var option, i = process.argv.indexOf("--option");
if(i>-1) {
option = process.argv[i+1];
}
De cette façon, vous pouvez gérer des variations dans plusieurs options, comme:
//task should still find 'option' variable in all cases
gulp mytask --newoption somestuff --option 123
gulp mytask --option 123 --newoption somestuff
gulp mytask --flag --option 123
** Edit: vrai pour les scripts de noeud, mais gulp interprète n'importe quoi sans "-" en tête comme autre nom de tâche. Donc, l'utilisation gulp mytask 123
échouera car gulp ne peut pas trouver une tâche appelée '123'.