Bagaimana Cara Menerima Input Dari Baris Perintah di Node.js?

Bagaimana Cara Menerima Input Dari Baris Perintah Di Node Js



Node.js adalah lingkungan runtime JavaScript gratis sumber terbuka terkenal yang memungkinkan pengguna mengeksekusi kode JavaScript dari file atau langsung dari baris perintah. Menjalankan kode JavaScript dari file memerlukan file “. js ” perintah file sedangkan baris perintah mengeksekusi kode JavaScript secara langsung baris demi baris.

Terkadang, pengguna perlu mengonfigurasi informasi saat meluncurkan aplikasi Node.js dari baris perintah melalui “ simpul ”. Dalam situasi seperti ini, pengguna perlu meneruskan informasi tersebut secara langsung sebagai masukan dengan perintah eksekusi alih-alih menuliskannya ke dalam file “. js ” mengajukan.







Tulisan ini akan membahas semua metode yang mungkin untuk menerima input dari baris perintah di Node.js.



Bagaimana Cara Menerima Input Dari Baris Perintah di Node.js?

Node.js menawarkan modul berikut untuk menerima masukan dari baris perintah:



Mari kita mulai dengan “ garis baca ” modul.





Prasyarat : Sebelum beralih ke penerapan praktis metode apa pun, buatlah terlebih dahulu “. js ” file dengan nama apa pun dan tulis semua kode sumber ke dalamnya. Di sini, kami telah membuat “ indeks berkas .js”.

Metode 1: Terima Input Dari Baris Perintah Menggunakan Modul “readline”.

garis baca Modul ” membuat antarmuka untuk membaca masukan pengguna dari aliran yang dapat dibaca dan mengembalikan responsnya sebagai keluaran yang dihasilkan. Ini adalah modul bawaan sehingga pengguna dapat mengimpornya langsung ke aplikasi Node.js tanpa menginstalnya menggunakan “ npm ”.



Dalam skenario ini, digunakan untuk mengambil masukan dari baris perintah dan kemudian mencetaknya pada layar keluaran. Berikut implementasi praktisnya:

konstanta garis baca = memerlukan ( 'baris baca' )
konstanta rl = garis baca. buat Antarmuka ( {
memasukkan : proses. stdin ,
keluaran : proses. stdout
} )
rl. pertanyaan ( `Platform terbaik untuk konten teknis ? ` , situs web => {
rl. pertanyaan ( `Kategori mana yang ingin Anda jelajahi ? ` , kategori => {
menghibur. catatan ( `Situs web : $ { situs web } , Kategori : $ { kategori } ` )
rl. menutup ( )
} )
} )

Deskripsi baris kode di atas adalah sebagai berikut:

  • Pertama, “ memerlukan ()” metode mengimpor “ garis baca ” modul dalam proyek Node.js saat ini.
  • Selanjutnya, “ buat Antarmuka ()” metode menentukan “ masukan dan keluaran ” mengalir sebagai objek. “ memasukkan ” aliran menggunakan “ proses.stdin ” properti untuk mengambil masukan dari pengguna.
  • keluaran ” aliran menggunakan “ proses.stdout ” properti untuk membaca aliran masukan dan mencetaknya sebagai keluaran standar dari aliran masukan yang diberikan.
  • Setelah itu, “ rl.pertanyaan ()” metode mengambil masukan dari pengguna. Ini meneruskan pertanyaan sebagai yang pertama dan fungsi panggilan balik sebagai argumen kedua. Fungsi panah panggilan balik yang diberikan mengambil nilai yang dimasukkan pengguna.
  • Dalam definisi yang diberikan “ situs web ”, dan “ kategori ” fungsi panah panggilan balik, “ konsol.log ()” metode digunakan untuk menampilkan nilai yang dimasukkan.
  • Terakhir, “ rl.tutup ()” metode menutup antarmuka yang dibuat di atas.

Keluaran

Memulai “ indeks .js” dengan menjalankan perintah yang disediakan:

indeks simpul. js

Output berikut menunjukkan antarmuka readline yang mengambil input pengguna dari baris perintah dan kemudian menampilkan nilai yang dimasukkan sebagai output standar:

Metode 2: Terima Input Dari Baris Perintah Menggunakan Modul “readline-sync”.

sinkronisasi baris baca ” adalah modul pihak ketiga yang secara sinkron mengambil informasi terkait pertanyaan hardcode dan menyimpan jawaban terkait untuk operasi di masa mendatang. Ini bertindak sebagai komunikasi antara klien dan server dari baris perintah.

Perbedaan utama antara modul asinkron dan sinkron adalah “ asinkron ” memblokir eksekusi kode sumber hingga tugas yang ditentukan tidak dilakukan sedangkan modul sinkron mengeksekusi kode baris demi baris secara berurutan.

Instal Modul 'readline-sync'.

Itu 'sinkronisasi baris-baca' module bukan modul bawaan, sehingga perlu diinstal secara manual dengan menjalankan perintah di bawah ini:

npm instal garis baca - sinkronisasi

Outputnya menunjukkan bahwa modul readline-sync telah ditambahkan ke proyek Node.js saat ini:

Sekarang, gunakan “ sinkronisasi baris baca ” secara praktis dengan mengikuti cuplikan kode yang diberikan:

dulu readlineSync = memerlukan ( 'sinkronisasi baris-baca' ) ;
dulu namaempang = readlineSync. pertanyaan ( 'Nama karyawan: ' ) ;
dulu jd = readlineSync. pertanyaan ( 'Uraian Tugas: ' ) ;
dulu perusahaan = readlineSync. pertanyaan ( 'Perusahaan: ' , {
} ) ;
menghibur. catatan ( namaempang + ' bekerja sebagai ' + jd + ' di dalam ' + perusahaan ) ;

Penjelasan kode di atas adalah sebagai berikut:

  • Pertama, “ sinkronisasi baris baca ” modul diimpor ke dalam file dan objeknya disimpan dalam variabel baru “ readlineSync ”.
  • Selanjutnya, pertanyaan ditanyakan dengan bantuan “ pertanyaan ()” dengan menetapkannya sebagai argumen.
  • Prosedur yang sama digunakan untuk menanyakan pertanyaan berikutnya.
  • Setelah itu, “ konsol.log ()” metode digunakan untuk menampilkan nilai yang dimasukkan bersama dengan string yang dikutip.

Keluaran

Jalankan “ indeks berkas .js”:

indeks simpul. js

Outputnya menunjukkan bahwa secara sinkron, input dari pengguna telah diambil dan ditampilkan menggunakan “ sinkronisasi baris baca ” modul:

Metode 3: Terima Input Dari Baris Perintah Menggunakan Modul “prompt”.

mengingatkan ” adalah modul asinkron yang membuat fungsi prompt untuk menyimpan input pengguna sebagai nilai variabel dan kemudian mengambilnya sebagai output yang dihasilkan. Itu tidak perlu mengkonfigurasi aliran yang dapat dibaca dan ditulis secara eksplisit, itulah mengapa ini cukup mudah digunakan dibandingkan dengan “ garis baca ” modul.

Instal Modul 'prompt'.

mengingatkan ” juga merupakan modul pihak ketiga yang dapat dipasang dengan mudah dengan bantuan “ npm ' lewat sini:

perintah pemasangan npm -- menyimpan

Dalam perintah di atas, “ -menyimpan ” bendera menambahkan “ mengingatkan ” modul ke “ paket.json ” mengajukan.

Dapat dianalisis bahwa “ mengingatkan ” telah ditambahkan ke proyek Node.js saat ini:

Sekarang, gunakan “ mengingatkan ” modul secara praktis dengan bantuan cuplikan kode berikut:

konstanta mengingatkan = memerlukan ( 'mengingatkan' )
mengingatkan. awal ( )
mengingatkan. mendapatkan ( [ 'Nama Penulis' , 'Kategori' ] , ( berbuat salah , hasil ) => {
jika ( berbuat salah ) {
melemparkan berbuat salah

} kalau tidak {
menghibur. catatan ( `$ { hasil. nama penulis } bekerja pada $ { hasil. Kategori } ` )

}
} )

Di blok kode yang disebutkan di atas:

  • memerlukan ()” metode mengimpor “ mengingatkan ” modul ke dalam proyek.
  • awal ()” metode memulai prompt.
  • mendapatkan ()” metode mengambil input dari pengguna melalui baris perintah. Ini menentukan nama properti dan fungsi panah panggilan balik sebagai parameter pertama dan kedua.
  • Fungsi panggilan balik dengan “ berbuat salah ' Dan ' hasil ” parameter mendefinisikan “ jika-lainnya ' penyataan.
  • Jika jenis kesalahan apa pun terjadi maka “ jika ” blok akan memunculkan kesalahan itu jika tidak, “ kalau tidak Blok ” akan menampilkan nilai properti yang ditentukan sebagai output.

Keluaran

Jalankan “ indeks berkas .js”:

indeks simpul. js

Output berikut mengambil input pengguna berdasarkan properti yang ditentukan dan kemudian mengambil nilainya sebagai output:

Metode 4: Terima Masukan Dari Baris Perintah Menggunakan Modul “penanya”.

Di Node.js, “ penanya ” adalah cara mudah untuk mengambil masukan dari baris perintah. Muncul dengan beberapa metode berguna untuk mengambil masukan dari pengguna dan kemudian mengembalikan keluaran menggunakan “ menjawab ” objek dan “. Kemudian ()” metode bawaan.

Berguna untuk menanyakan berbagai jenis pertanyaan dari pengguna melalui baris perintah seperti daftar, opsi, masukan, kotak centang, dan banyak lagi. Ini menyediakan cara mudah untuk membuat antarmuka baris perintah menjadi interaktif untuk tugas berbasis kueri.

Ikuti panduan terperinci tentang “ Ambil Input Dari Baris Perintah Menggunakan Node.js Inquirer ” untuk demonstrasi praktis.

Tip: Bagaimana Cara Melewati Argumen Dari Baris Perintah di Node?

Pengguna juga dapat menyampaikan argumen dari baris perintah. Untuk tujuan ini, “ proses.argv ” properti dapat digunakan. “ argv ” adalah properti bawaan modul “proses” yang digunakan untuk meneruskan argumen dari baris perintah saat menjalankan aplikasi Node.js menggunakan “ simpul ' memerintah.

Ikuti panduan terperinci tentang “ Lulus Argumen Dari Baris Perintah di Node.js ” untuk demonstrasi praktis.

Sekian tentang menerima masukan dari baris perintah di Node.js.

Kesimpulan

Untuk menerima input dari baris perintah, gunakan asynchronous “ garis baca ”, atau sinkron “ sinkronisasi baris baca ” modul. Selain itu, dapat juga dilakukan melalui “ mengingatkan ” atau “ penanya ” modul. Kecuali untuk “ sinkronisasi garis merah ” modul, semua modul yang tersisa tidak sinkron. Tulisan ini telah membahas semua metode yang mungkin untuk menerima input dari baris perintah di Node.js.