Cara parse argumen baris perintah di node.JS
- 967
- 143
- Darryl Ritchie
Node.JS adalah kerangka kerja I/O yang berbasis acara, open-source, dan asinkron yang menggunakan mesin JavaScript V8 Google. Kami menggunakannya untuk mengembangkan aplikasi yang menggunakan javascript baik di sisi server dan klien. Node.Aplikasi JS ditulis dalam JavaScript.
Node.Aplikasi JS juga menerima argumen baris perintah seperti bahasa pemrograman lainnya. Secara default, node.JS mampu menangani argumen Anda tetapi jika Anda menginginkan beberapa fitur tambahan maka Anda dapat menggunakan alat dan paket pihak ketiga seperti yargs
Dan minimis
. Di artikel ini, kita akan melihat bagaimana Anda dapat parse argumen baris perintah di node.JS menggunakan proses.argv
, yargs
, Dan minimis
.
Apa argumen baris perintah?
Argumen baris perintah adalah serangkaian informasi atau perintah tambahan yang diteruskan ke dalam program saat menjalankannya melalui antarmuka baris perintah (CLI) dari OS. Argumen ini biasanya termasuk informasi yang digunakan untuk mengatur nilai properti atau konfigurasi untuk suatu aplikasi.
Di simpul.JS, semua argumen baris perintah yang diberikan kepada shell diteruskan ke proses dalam array yang disebut 'Nilai Argumen (ARGV).'Node nanti.JS menggunakan array ini untuk setiap proses berjalan dalam bentuk proses.argv atau Anda dapat mengatakan argumen secara default disimpan dalam proses.argv.
Mengapa menggunakan argumen baris perintah?
Argumen baris perintah sangat fleksibel karena dilewatkan sebagai string ke program Anda dan tipe data string dapat dengan mudah dikonversi ke jenis lain.
Ini memungkinkan Anda untuk meneruskan informasi ke aplikasi sebelum dimulai dan Anda juga dapat melewati sejumlah argumen melalui baris perintah.
Apa contoh sintaks argumen baris perintah?
Berikut adalah contoh sintaks, bagaimana argumen baris perintah terlihat:
[runtime] [Script_name] [Argumen-1 Argumen-2 Argumen-3… Argumen-N]
Argumen dipisahkan oleh ruang dan runtime bisa seperti sh, java, node, dll.
Cara parse argumen baris perintah di node.JS
Di sini pertama -tama kita akan melihat argumen menguraikan menggunakan proses.argv
dan kemudian dengan yargs
Dan minimis
.
1. Parse Argumen Menggunakan Proses.argv
Menggunakan proses.argv
adalah cara paling sederhana dari argumen penguraian di node.JS dan Anda tidak perlu menginstal paket atau perpustakaan tambahan untuk itu. Anda hanya meneruskan argumen ke node.Aplikasi JS dan argumen ini ditangani oleh proses.argv
secara default.
Ada tiga elemen utama proses.Array Argv:
- Pertama, jalur sistem file menunjuk ke node yang dapat dieksekusi.
- Kedua nama file JavaScript yang sedang dieksekusi.
- Ketiga, argumen pertama yang disahkan oleh pengguna.
Contoh - Kami akan menulis skrip simpul sederhana yang akan mencetak semua argumen baris perintah yang diteruskan ke aplikasi.
- Buat file bernama 'ProcessArgv.js ' dan tempel kode berikut. 'Gunakan ketat'; untuk (biarkan j = 0; j ' + (proses.argv [j]));
1234 'Gunakan ketat'; untuk (biarkan j = 0; j < process.argv.length; j++) console.log(j + ' -> ' + (proses.argv [j])); - Sekarang jalankan 'ProcessArgv.JS 'Menggunakan perintah berikut dengan memberikan argumen.
Node ProcessArgv.JS I Am Node
Di sini kami meneruskan tiga argumen ke file dan sebagai hasilnya, Anda akan melihat bahwa 'i', 'am', 'node' disimpan di masing -masing indeks ke -2, ke -3, dan ke -4. Dan output akan terlihat seperti ini:
2. Melewati argumen menggunakan yargs
Yargs adalah sebuah simpul.Modul JS yang dapat membantu Anda memberikan argumen. Ini memungkinkan Anda untuk memberikan argumen dalam bentuk pasangan nilai kunci dan Anda bahkan dapat mengakses nilai argumen nanti dalam program menggunakan kunci.
- Instal Modul Yargs Menggunakan Perintah Ini.
npm i yargs
- Sekarang simpan kode di bawah ini dalam file bernama 'Yargs.js ' Dan saat menjalankan program, kami akan memberikan nilai nama dan usia. 'Gunakan ketat'; const args = membutuhkan ('yargs').argv; menghibur.log ('name:' + args.nama); menghibur.log ('usia:' + args.usia);
123456 'Gunakan ketat'; const args = membutuhkan ('yargs').argv; menghibur.log ('name:' + args.nama); konsol.log ('usia:' + args.usia); - Untuk melaksanakan perintah berikut, jalankan kode berikut di prompt Anda. Kami memberikan nilai nama dan usia.
Node Yargs.js --name = node --age = 15
Output akan terlihat seperti ini:
Untuk memahami fitur yang lebih canggih yargs
Kunjungi Panduan Tingkat Lanjut ini.
3. Argumen penguraian menggunakan modul minimis
Cara lain untuk parsing argumen baris perintah ke node.Aplikasi JS adalah dengan menggunakan modul minimis. Itu menguraikan argumen dari proses.array argv dan kemudian memindahkannya ke array asosiatif yang mudah digunakan. Array asosiatif ini dapat digunakan untuk mengakses elemen menggunakan nama indeks.
- Instal modul minimis dengan menggunakan perintah ini.
npm saya minimis
- Sekarang simpan skrip berikut bernama 'Minimis.js '. Di sini kami menggunakan metode SLICE yang akan menghapus semua elemen array sebelumnya mulai dari indeks yang diteruskan ke sana sebagai parameter. 'Gunakan ketat'; const args = membutuhkan ('minimist') (proses.argv.Slice (2)); menghibur.Log (Args.Saya); menghibur.Log (Args.N);
123456 'Gunakan ketat'; const args = membutuhkan ('minimist') (proses.argv.Slice (2)); menghibur.Log (Args.i); konsol.Log (Args.N); - Sambil menyampaikan argumen, kami juga dapat menentukan karakter yang dengannya kami ingin mengakses elemen. Di sini kami akan menentukan 'i' sebagai nama untuk indeks kedua dan kemudian 'n' sebagai nama untuk indeks ketiga. Seperti ini:
node minimis.js -i node -n 15
Output akan terlihat seperti ini:
Meskipun minimis
tidak memiliki banyak fitur kaya yargs
Anda masih dapat menggunakannya untuk membuat pekerjaan Anda mudah. Untuk informasi lebih rinci tentang kunjungan minimis di sini.
Kesimpulan
Parsing argumen adalah topik yang sederhana dan penting jika Anda mengerjakan Node.JS. Ada beberapa opsi yang tersedia untuk membuat pekerjaan Anda mudah. Jadi pilihlah sesuai dengan kebutuhan Anda jika Anda menginginkan fitur yang kaya dan canggih maka ikuti yargs
jika tidak, pilih dari proses.argv
Dan minimis
.