Wenn Sie vermeiden möchten, zusätzliche Abhängigkeiten hinzuzufügen, habe ich Knoten process.argv
als nützlich empfunden:
gulp.task('mytask', function() {
console.log(process.argv);
});
Also folgendes:
gulp mytask --option 123
sollte anzeigen:
[ 'node', 'path/to/gulp.js', 'mytask', '--option', '123']
Wenn Sie sicher sind, dass sich der gewünschte Parameter an der richtigen Position befindet, werden die Flags nicht benötigt. ** Verwenden Sie einfach (in diesem Fall):
var option = process.argv[4]; //set to '123'
ABER: Da die Option möglicherweise nicht festgelegt ist oder sich in einer anderen Position befindet, denke ich, dass eine bessere Idee so etwas wie:
var option, i = process.argv.indexOf("--option");
if(i>-1) {
option = process.argv[i+1];
}
Auf diese Weise können Sie Variationen in mehreren Optionen verarbeiten, z.
//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
** Bearbeiten: true für Knotenskripte, aber gulp interpretiert alles ohne ein führendes "-" als einen anderen Aufgabennamen. Die Verwendung gulp mytask 123
schlägt also fehl, da gulp keine Aufgabe namens '123' finden kann.