Kako prihvatiti unos iz naredbenog retka u Node.js?

Kako Prihvatiti Unos Iz Naredbenog Retka U Node Js



Node.js je dobro poznato open-source besplatno JavaScript runtime okruženje koje korisnicima omogućuje izvršavanje JavaScript koda iz datoteke ili izravno iz naredbenog retka. Pokretanje JavaScript koda iz datoteke zahtijeva vanjski “. js ” dok naredbeni redak izvršava JavaScript kod izravno redak po redak.

Ponekad korisnik mora konfigurirati podatke dok pokreće aplikaciju Node.js iz naredbenog retka putem ' čvor ”. U takvoj situaciji, korisnik treba proslijediti te informacije izravno kao ulaz s naredbom za izvršenje umjesto da ih upisuje u '. js ' datoteka.







Ovaj tekst govori o svim mogućim metodama prihvaćanja unosa iz naredbenog retka u Node.js.



Kako prihvatiti unos iz naredbenog retka u Node.js?

Node.js nudi sljedeće module za prihvaćanje unosa iz naredbenog retka:



Počnimo s ' linija za čitanje ” modul.





Preduvjeti : Prije nego prijeđete na praktičnu implementaciju bilo koje metode, prvo stvorite '. js ” datoteku bilo kojeg naziva i u nju zapišite sav izvorni kod. Ovdje smo stvorili ' indeks .js” datoteku.

Metoda 1: Prihvatite unos iz naredbenog retka pomoću modula “readline”.

' linija za čitanje ” modul stvara sučelje za čitanje korisničkog unosa iz čitljivog toka i vraćanje njegovog odgovora kao rezultirajućeg izlaza. To je ugrađeni modul tako da ga korisnik može uvesti izravno u aplikaciju Node.js bez instaliranja pomoću ' npm ”.



U ovom scenariju koristi se za unos unosa iz naredbenog retka i zatim ga ispisuje na izlaznom ekranu. Evo njegove praktične primjene:

konst linija za čitanje = zahtijevati ( 'readline' )
konst rl = linija za čitanje. createInterface ( {
ulazni : postupak. stdin ,
izlaz : postupak. stdout
} )
rl. pitanje ( `Najbolja platforma za tehnički sadržaj ? ` , web stranica => {
rl. pitanje ( `Koju biste kategoriju željeli istražiti ? ` , kategorija => {
konzola. log ( `Web stranica : $ { web stranica } , Kategorija : $ { kategorija } ` )
rl. Zatvoriti ( )
} )
} )

Opis gornjih linija koda je sljedeći:

  • Prvo, ' zahtijevati ()' metoda uvozi ' linija za čitanje ” u trenutnom projektu Node.js.
  • Zatim, ' createInterface ()' metoda specificira ' ulaz” i “izlaz ” struje kao objekt. ' ulazni ' stream koristi ' proces.stdin ” svojstvo za unos unosa od korisnika.
  • ' izlaz ' stream koristi ' proces.stdout ” svojstvo za čitanje ulaznog toka i ispis kao standardnog izlaza danog ulaznog toka.
  • Nakon toga, ' rl.pitanje ()” metoda preuzima unos od korisnika. Prosljeđuje pitanje kao prvi, a funkciju povratnog poziva kao drugi argument. Dana funkcija strelice za povratni poziv dohvaća vrijednosti koje je unio korisnik.
  • U definiciji datog “ web stranica ', i ' kategorija ' funkcija strelice povratnog poziva, ' konzola.log ()” metoda se koristi za prikaz unesenih vrijednosti.
  • Na kraju, ' rl.zatvoriti ()” zatvara gore stvoreno sučelje.

Izlaz

Pokrenite ' indeks .js” izvršavanjem navedene naredbe:

indeks čvora. js

Sljedeći izlaz prikazuje sučelje readline koje preuzima korisnički unos iz naredbenog retka i zatim prikazuje unesenu vrijednost kao standardni izlaz:

Metoda 2: Prihvatite unos iz naredbenog retka pomoću modula 'readline-sync'

' readline-sync ” je modul treće strane koji sinkrono dohvaća informacije vezane uz tvrdo kodirana pitanja i pohranjuje njihove odgovarajuće odgovore za buduće operacije. Djeluje kao komunikacija između klijenta i poslužitelja iz naredbenog retka.

Glavna razlika između asinkronih i sinkronih modula je u tome što ' asinkroni ” blokira izvršenje izvornog koda sve dok se njegov specificirani zadatak ne izvrši, dok sinkroni moduli izvršavaju kod red po red na sekvencijalan način.

Instalirajte modul 'readline-sync'.

The “readline-sync” modul nije ugrađeni modul, pa ga je potrebno ručno instalirati izvršavanjem naredbe ispod:

npm instalirajte readline - sinkronizacija

Izlaz pokazuje da je modul readline-sync dodan trenutnom projektu Node.js:

Sada upotrijebite ' readline-sync ” praktički slijedeći dani isječak koda:

bio je readlineSync = zahtijevati ( 'readline-sync' ) ;
bio je empName = readlineSync. pitanje ( 'Ime zaposlenika: ' ) ;
bio je j d = readlineSync. pitanje ( 'Opis posla: ' ) ;
bio je društvo = readlineSync. pitanje ( 'Društvo: ' , {
} ) ;
konzola. log ( empName + 'radi kao' + j d + 'u' + društvo ) ;

Objašnjenje gornjeg koda je sljedeće:

  • Prvo, ' readline-sync ” modul se uvozi unutar datoteke i njegov objekt se pohranjuje u novu varijablu “ readlineSync ”.
  • Zatim se postavlja upit uz pomoć ' pitanje ()” metodu navodeći je kao argument.
  • Isti postupak se koristi za postavljanje sljedećih pitanja.
  • Nakon toga, ' konzola.log ()” metoda se koristi za prikaz unesenih vrijednosti zajedno sa stringom u navodnicima.

Izlaz

Izvršite ' indeks .js” datoteka:

indeks čvora. js

Izlaz pokazuje da je na sinkroni način, unos korisnika uzet i prikazan pomoću ' readline-sync ” modul:

Metoda 3: Prihvatite unos iz naredbenog retka pomoću modula 'prompt'.

' potaknuti ” je asinkroni modul koji stvara funkciju upita za pohranu korisničkog unosa kao vrijednosti varijable i zatim ga dohvaća kao rezultantni izlaz. Ne treba eksplicitno konfigurirati čitljiv i upisiv tok, zbog čega je vrlo jednostavan za korištenje u usporedbi s ' linija za čitanje ” modul.

Instalirajte 'prompt' modul

' potaknuti ” također je modul treće strane koji se lako može instalirati uz pomoć “ npm ' na ovaj način:

npm instalacijski upit -- uštedjeti

U gornjoj naredbi, ' -uštedjeti ' zastava dodaje ' potaknuti ' modul na ' paket.json ' datoteka.

Može se analizirati da je „ potaknuti ” dodan je trenutnom projektu Node.js:

Sada upotrijebite instalirani ' potaknuti ” praktički uz pomoć sljedećeg isječka koda:

konst potaknuti = zahtijevati ( 'potaknuti' )
potaknuti. početak ( )
potaknuti. dobiti ( [ 'ime autora' , 'Kategorija' ] , ( pogriješiti , proizlaziti ) => {
ako ( pogriješiti ) {
bacanje pogriješiti

} drugo {
konzola. log ( `$ { proizlaziti. Ime autora } radi na $ { proizlaziti. Kategorija } ` )

}
} )

U gore navedenom bloku koda:

  • ' zahtijevati ()' metoda uvozi ' potaknuti ” modula u projekt.
  • ' početak ()” pokreće upit.
  • ' dobiti ()” preuzima unos od korisnika putem naredbenog retka. Određuje nazive svojstava i funkciju strelice povratnog poziva kao prvi i drugi parametar.
  • Funkcija povratnog poziva s ' pogriješiti ' i ' proizlaziti ' parametri definiraju ' ako-drugače ” izjava.
  • Ako se pojavi bilo koja vrsta pogreške, tada se prikazuje ' ako ” izbacit će tu pogrešku u protivnom drugo ” blok će prikazati vrijednosti navedenih svojstava kao izlaz.

Izlaz

Pokrenite ' indeks .js” datoteka:

indeks čvora. js

Sljedeći izlaz uzima korisnički unos na temelju navedenih svojstava i zatim dohvaća njihove vrijednosti kao izlaz:

Metoda 4: Prihvatite unos iz naredbenog retka pomoću modula 'inquirer'.

U Node.js, ' ispitivač ” jednostavan je način preuzimanja unosa iz naredbenog retka. Dolazi s nekoliko korisnih metoda za uzimanje unosa od korisnika i vraćanje izlaza pomoću ' odgovor ” objekt i “. zatim ()” ugrađena metoda.

Korisno je za postavljanje različitih vrsta pitanja od korisnika putem naredbenog retka kao što su popis, opcije, unos, potvrdni okviri i još mnogo toga. Omogućuje prikladan način da sučelje naredbenog retka postane interaktivno za zadatke temeljene na upitima.

Slijedite detaljan vodič na “ Uzmite unos iz naredbenog retka koristeći Node.js Inquirer ” za praktičnu demonstraciju.

Savjet: Kako proslijediti argumente iz naredbenog retka u Node?

Korisnik također može proslijediti argumente iz naredbenog retka. U tu svrhu, ' proces.argv ” imovina se može koristiti. ' argv ” je ugrađeno svojstvo modula „proces” koje se koristi za prosljeđivanje argumenata iz naredbenog retka tijekom pokretanja Node.js aplikacije pomoću „ čvor ” naredba.

Slijedite detaljan vodič na “ Proslijedite argumente iz naredbenog retka u Node.js ” za praktičnu demonstraciju.

To je sve o prihvaćanju unosa iz naredbenog retka u Node.js.

Zaključak

Za prihvaćanje unosa iz naredbenog retka koristite asinkroni ' linija za čitanje ', ili sinkroni ' readline-sync ” modul. Štoviše, može se izvesti i putem ' potaknuti ' ili ' ispitivač ” modul. Osim ' crvena linija-sinkronizacija ”, svi preostali moduli su asinkroni. U ovom tekstu raspravlja se o svim mogućim metodama prihvaćanja unosa iz naredbenog retka u Node.js.