Kā pieņemt ievadi no komandrindas vietnē Node.js?

Ka Pienemt Ievadi No Komandrindas Vietne Node Js



Node.js ir plaši pazīstama atvērtā pirmkoda bezmaksas JavaScript izpildlaika vide, kas lietotājiem ļauj izpildīt JavaScript kodu no faila vai tieši no komandrindas. Lai palaistu JavaScript kodu no faila, ir nepieciešams ārējs “. js ” faila komandu, kamēr komandrinda izpilda JavaScript kodu tieši pēc rindas.

Dažreiz lietotājam ir jākonfigurē informācija, palaižot lietojumprogrammu Node.js no komandrindas, izmantojot “ mezgls ”. Šādā situācijā lietotājam šī informācija ir jānodod tieši kā ievade ar izpildes komandu, nevis jāieraksta '. js ” failu.







Šajā pārskatā tiks apspriestas visas iespējamās metodes, kā pieņemt ievadi no komandrindas pakalpojumā Node.js.



Kā pieņemt ievadi no komandrindas vietnē Node.js?

Node.js piedāvā šādus moduļus, lai pieņemtu ievadi no komandrindas:



Sāksim ar ' lasāmrinda ” modulis.





Priekšnoteikumi : Pirms pāriet uz jebkuras metodes praktisko ieviešanu, vispirms izveidojiet '. js ” jebkura nosaukuma failu un ierakstiet tajā visu avota kodu. Šeit mēs esam izveidojuši ' rādītājs .js” failu.

1. metode: pieņemiet ievadi no komandrindas, izmantojot moduli “readline”

' lasāmrinda ” modulis izveido interfeisu lietotāja ievades nolasīšanai no lasāmās straumes un tās atbildes atgriešanai kā iegūto izvadi. Tas ir iebūvēts modulis, lai lietotājs to varētu importēt tieši lietojumprogrammā Node.js, neinstalējot to, izmantojot “ npm ”.



Šajā scenārijā to izmanto, lai ņemtu ievadi no komandrindas un pēc tam izdrukātu to izvades ekrānā. Šeit ir tā praktiskā īstenošana:

konst lasāmrinda = pieprasīt ( 'lasīšanas līnija' )
konst rl = lasāmrinda. izveidot interfeisu ( {
ievade : process. stdin ,
izvade : process. stdout
} )
rl. jautājums ( `Labākā platforma priekš tehniskais saturs ? ` , vietne => {
rl. jautājums ( Kuru kategoriju vēlaties izpētīt ? ` , kategorijā => {
konsole. žurnāls ( `Tīmekļa vietne : $ { vietne } , Kategorija : $ { kategorijā } ` )
rl. aizveriet ( )
} )
} )

Iepriekš minēto koda rindu apraksts ir šāds:

  • Pirmkārt, ' pieprasīt ()” metode importē “ lasāmrinda ” modulis pašreizējā Node.js projektā.
  • Tālāk “ izveidot interfeisu ()” metode nosaka “ ievade” un “izeja ” straumē kā objekts. ' ievade straumē tiek izmantots process.stdin ” rekvizītu, lai saņemtu ievadi no lietotāja.
  • ' izvade ' straume izmanto ' process.stdout ” rekvizītu ievades straumes nolasīšanai un izdrukāšanai kā dotās ievades straumes standarta izvadei.
  • Pēc tam ' rl.jautājums ()” metode ņem ievadi no lietotāja. Tas nodod jautājumu kā pirmo un atzvanīšanas funkciju kā otro argumentu. Dotā atzvanīšanas bultiņas funkcija izgūst lietotāja ievadītās vērtības.
  • Dotā “ vietne ”, un “ kategorijā ' atzvanīšanas bultiņas funkcija, ' console.log ()” metode tiek izmantota, lai parādītu ievadītās vērtības.
  • Visbeidzot, ' rl.aizvērt ()” metode aizver iepriekš izveidoto saskarni.

Izvade

Sāciet ' rādītājs .js” failu, izpildot norādīto komandu:

mezglu indekss. js

Šī izvade parāda lasīšanas līnijas saskarni, kas ņem lietotāja ievadi no komandrindas un pēc tam parāda ievadīto vērtību kā standarta izvadi:

2. metode: pieņemiet ievadi no komandrindas, izmantojot moduli “readline-sync”

' lasīšanas līnijas sinhronizācija ” ir trešās puses modulis, kas sinhroni izgūst informāciju, kas saistīta ar kodētiem jautājumiem, un saglabā to atbilstošās atbildes turpmākām darbībām. Tas darbojas kā komunikācija starp klientu un serveri no komandrindas.

Galvenā atšķirība starp asinhronajiem un sinhronajiem moduļiem ir tā, ka asinhrons ” bloķē avota koda izpildi, līdz netiek izpildīts tā noteiktais uzdevums, savukārt sinhronie moduļi izpilda kodu pēc rindas secīgi.

Instalējiet “readline-Sync” moduli

The “Readline-Sync” modulis nav iebūvēts modulis, tāpēc tas ir jāinstalē manuāli, izpildot tālāk norādīto komandu:

npm install readline - sinhronizēt

Izvade parāda, ka redline-sync modulis ir pievienots pašreizējam Node.js projektam:

Tagad izmantojiet ' lasīšanas līnijas sinhronizācija ” moduli praktiski, sekojot dotajam koda fragmentam:

bija readlineSync = pieprasīt ( 'readline-Sync' ) ;
bija empName = readlineSync. jautājums ( 'Darbinieka vārds: ' ) ;
bija jd = readlineSync. jautājums ( 'Darba apraksts: ' ) ;
bija uzņēmums = readlineSync. jautājums ( 'Uzņēmums:' , {
} ) ;
konsole. žurnāls ( empName + 'strādā kā' + jd + ' iekš' + uzņēmums ) ;

Iepriekš minētā koda skaidrojums ir šāds:

  • Pirmkārt, ' lasīšanas līnijas sinhronizācija ' modulis tiek importēts failā un tā objekts tiek saglabāts jaunā mainīgajā ' readlineSync ”.
  • Pēc tam vaicājums tiek uzdots, izmantojot “ jautājums ()” metodi, norādot to kā argumentu.
  • Tāda pati procedūra tiek izmantota nākamo jautājumu uzdošanai.
  • Pēc tam ' console.log ()” metode tiek izmantota, lai parādītu ievadītās vērtības kopā ar kotēto virkni.

Izvade

Izpildiet ' rādītājs .js” fails:

mezglu indekss. js

Izvade parāda, ka sinhroni lietotāju ievade ir ņemta un parādīta, izmantojot “ lasīšanas līnijas sinhronizācija ” modulis:

3. metode: pieņemiet ievadi no komandrindas, izmantojot “prompt” moduli

' pamudināt ” ir asinhrons modulis, kas izveido uzvednes funkciju, lai saglabātu lietotāja ievadi kā mainīgā lieluma vērtību un pēc tam izgūtu to kā iegūto izvadi. Tai nav skaidri jākonfigurē lasāmā un rakstāmā straume, tāpēc to ir diezgan viegli izmantot, salīdzinot ar “ lasāmrinda ” modulis.

Instalējiet 'uzvednes' moduli

' pamudināt ” ir arī trešās puses modulis, ko var viegli instalēt, izmantojot „ npm ' pa šo ceļu:

npm instalēšanas uzvedne -- saglabāt

Iepriekš minētajā komandā ' - saglabāt ' karogs pievieno ' pamudināt ' moduli uz ' pack.json ” failu.

Var analizēt, ka “ pamudināt ” ir pievienots pašreizējam Node.js projektam:

Tagad izmantojiet instalēto ' pamudināt ” modulis praktiski ar šāda koda fragmenta palīdzību:

konst pamudināt = pieprasīt ( 'pamudināt' )
pamudināt. sākt ( )
pamudināt. gūt ( [ 'authorName' , 'Kategorija' ] , ( kļūda , rezultāts ) => {
ja ( kļūda ) {
mest kļūda

} cits {
konsole. žurnāls ( `$ { rezultāts. autora vārds } darbojas uz $ { rezultāts. Kategorija } ` )

}
} )

Iepriekš norādītajā koda blokā:

  • ' pieprasīt ()” metode importē “ pamudināt ” moduli projektā.
  • ' sākt ()” metode sāk uzvedni.
  • ' gūt ()” metode ņem ievadi no lietotāja, izmantojot komandrindu. Tas norāda rekvizītu nosaukumus un atzvanīšanas bultiņas funkciju kā pirmo un otro parametru.
  • Atzvanīšanas funkcija ar “ kļūda ' un ' rezultāts ' parametri definē ' ja-citādi ' paziņojums, apgalvojums.
  • Ja rodas kāda veida kļūda, tad “ ja ' blokā tiks parādīta šī kļūda, pretējā gadījumā ' cits ” blokā kā izvade tiks parādītas norādīto īpašību vērtības.

Izvade

Palaidiet ' rādītājs .js” fails:

mezglu indekss. js

Šī izvade ņem lietotāja ievadi, pamatojoties uz norādītajiem rekvizītiem, un pēc tam izgūst to vērtības kā izvadi:

4. metode: pieņemiet ievadi no komandrindas, izmantojot 'jautātāja' moduli

Vietnē Node.js “ jautātājs ” ir vienkāršs veids, kā iegūt ievadi no komandrindas. Tam ir vairākas noderīgas metodes, lai saņemtu ievadi no lietotājiem un pēc tam atgrieztu izvadi, izmantojot “ atbildi ' objekts un '. tad ()” iebūvētā metode.

Tas ir noderīgi, lai uzdotu lietotājam dažāda veida jautājumus, izmantojot komandrindu, piemēram, sarakstu, opcijas, ievadi, izvēles rūtiņas un daudz ko citu. Tas nodrošina ērtu veidu, kā komandrindas interfeisa interfeisu padarīt interaktīvu uz vaicājumiem balstītiem uzdevumiem.

Izpildiet detalizēto ceļvedi “ Ievadiet ievadi no komandrindas, izmantojot Node.js Inquirer ” praktiskai demonstrēšanai.

Padoms. Kā nodot argumentus no komandrindas mezglā?

Lietotājs var arī nodot argumentus no komandrindas. Šim nolūkam ' process.argv ” īpašumu var izmantot. ' argv ” ir moduļa “process” iebūvētais rekvizīts, ko izmanto, lai nodotu argumentus no komandrindas, palaižot lietojumprogrammu Node.js, izmantojot “ mezgls ” komandu.

Izpildiet detalizēto ceļvedi “ Nododiet argumentus no Node.js komandrindas ” praktiskai demonstrēšanai.

Tas viss attiecas uz ievades pieņemšanu no komandrindas pakalpojumā Node.js.

Secinājums

Lai pieņemtu ievadi no komandrindas, izmantojiet asinhrono ' lasāmrinda ”, vai sinhronais “ lasīšanas līnijas sinhronizācija ” modulis. Turklāt to var veikt arī, izmantojot “ pamudināt ' vai ' jautātājs ” modulis. Izņemot ' sarkanās līnijas sinhronizācija ” modulis, visi pārējie moduļi ir asinhroni. Šajā rakstā ir apspriestas visas iespējamās metodes, kā pieņemt ievadi no komandrindas pakalpojumā Node.js.