Jika Anda ingin menghindari menambahkan dependensi tambahan, saya menemukan simpul process.argv
berguna:
gulp.task('mytask', function() {
console.log(process.argv);
});
Jadi yang berikut ini:
gulp mytask --option 123
harus menampilkan:
[ 'node', 'path/to/gulp.js', 'mytask', '--option', '123']
Jika Anda yakin bahwa parameter yang diinginkan ada di posisi yang tepat, maka flag tidak diperlukan. ** Cukup gunakan (dalam hal ini):
var option = process.argv[4]; //set to '123'
TETAPI: karena pilihannya mungkin tidak ditetapkan, atau mungkin berada di posisi yang berbeda, saya merasa bahwa ide yang lebih baik adalah sesuatu seperti:
var option, i = process.argv.indexOf("--option");
if(i>-1) {
option = process.argv[i+1];
}
Dengan begitu, Anda dapat menangani variasi dalam banyak opsi, seperti:
//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 ** : benar untuk skrip simpul, tetapi tegukan menafsirkan apa pun tanpa "-" pengarah sebagai nama tugas lain. Jadi menggunakan gulp mytask 123
akan gagal karena tegukan tidak dapat menemukan tugas yang disebut '123'.