Kuinka hyväksyä syöte Node.js:n komentoriviltä?

Kuinka Hyvaksya Syote Node Js N Komentorivilta



Node.js on tunnettu avoimen lähdekoodin ilmainen JavaScript-ajonaikainen ympäristö, jonka avulla käyttäjät voivat suorittaa JavaScript-koodin tiedostosta tai suoraan komentoriviltä. JavaScript-koodin suorittaminen tiedostosta vaatii ulkoisen '. js ” tiedostokomento, kun komentorivi suorittaa JavaScript-koodin suoraan rivi riviltä.

Joskus käyttäjän on määritettävä tiedot käynnistäessään Node.js-sovelluksen komentoriviltä ' solmu ”. Tällaisessa tilanteessa käyttäjän on välitettävä nämä tiedot suoraan syötteenä suorituskomennon kanssa sen sijaan, että kirjoittaisit ne '. js ” tiedosto.







Tässä kirjoituksessa käsitellään kaikkia mahdollisia tapoja hyväksyä syöte Node.js:n komentoriviltä.



Kuinka hyväksyä syöte Node.js:n komentoriviltä?

Node.js tarjoaa seuraavat moduulit hyväksymään syötteet komentoriviltä:



Aloitetaan ' Lue rivi ” moduuli.





Esitiedot : Ennen kuin siirryt minkä tahansa menetelmän käytännön toteutukseen, luo ensin '. js ”-tiedoston minkä tahansa nimen ja kirjoita siihen kaikki lähdekoodi. Täällä olemme luoneet ' indeksi .js'-tiedosto.

Tapa 1: Hyväksy syöttö komentoriviltä käyttämällä 'readline'-moduulia

' Lue rivi ” moduuli luo käyttöliittymän käyttäjän syötteen lukemiseen luettavasta virrasta ja sen vastauksen palauttamiseksi tuloksena. Se on sisäänrakennettu moduuli, joten käyttäjä voi tuoda sen suoraan Node.js-sovellukseen asentamatta sitä käyttämällä ' npm ”.



Tässä skenaariossa sitä käytetään syöttämään komentoriviltä ja tulostamaan se tulosnäytölle. Tässä sen käytännön toteutus:

konst Lue rivi = vaatia ( 'Lue rivi' )
konst rl = Lue rivi. luo käyttöliittymä ( {
syöttö : käsitellä asiaa. stdin ,
ulostulo : käsitellä asiaa. stdout
} )
rl. kysymys ( `Paras alusta varten tekninen sisältö ? ` , verkkosivusto => {
rl. kysymys ( `Mihin kategoriaan haluat tutustua ? ` , kategoria => {
konsoli. Hirsi ( ` Verkkosivusto : $ { verkkosivusto } , Kategoria : $ { kategoria } ` )
rl. kiinni ( )
} )
} )

Yllä olevien koodirivien kuvaus on seuraava:

  • Ensinnäkin ' vaatia ()' -menetelmä tuo ' Lue rivi ” -moduuli nykyisessä Node.js-projektissa.
  • Seuraavaksi ' luo käyttöliittymä ()'-menetelmä määrittää ' input' ja 'output ” virtaa esineenä. ' syöttö 'stream käyttää ' process.stdin ”-ominaisuutta syötteiden vastaanottamiseen käyttäjältä.
  • ' ulostulo ' stream käyttää ' process.stdout ” ominaisuus syötevirran lukemiseen ja sen tulostamiseen annetun syöttövirran vakiolähtönä.
  • Sen jälkeen ' rl.question ()' -menetelmä ottaa syötteen käyttäjältä. Se välittää kysymyksen ensimmäisenä ja takaisinsoittotoiminnon toisena argumenttina. Annettu takaisinsoitto-nuolitoiminto noutaa käyttäjän syöttämät arvot.
  • Annetun ' verkkosivusto ', ja ' kategoria ' takaisinsoittonuolitoiminto, ' console.log ()' -menetelmää käytetään syötettyjen arvojen näyttämiseen.
  • Lopuksi ' rl.close ()' -menetelmä sulkee yllä luodun käyttöliittymän.

Lähtö

Aloita ' indeksi .js'-tiedosto suorittamalla annettu komento:

solmuindeksi. js

Seuraava tulos näyttää readline-liittymän, joka ottaa käyttäjän syötteen komentoriviltä ja näyttää sitten syötetyn arvon vakiolähtönä:

Tapa 2: Hyväksy syöttö komentoriviltä käyttämällä 'readline-sync' -moduulia

' readline-sync ” on kolmannen osapuolen moduuli, joka hakee synkronisesti kovakoodattuihin kysymyksiin liittyvät tiedot ja tallentaa niitä vastaavat vastaukset tulevaa toimintaa varten. Se toimii viestintänä asiakkaan ja palvelimen välillä komentoriviltä.

Suurin ero asynkronisten ja synkronisten moduulien välillä on, että ' asynkroninen ” estää lähdekoodin suorittamisen, kunnes sen määritettyä tehtävää ei suoriteta, kun taas synkroniset moduulit suorittavat koodin rivi riviltä peräkkäin.

Asenna 'readline-sync' -moduuli

The 'readline-sync' moduuli ei ole sisäänrakennettu moduuli, joten se on asennettava manuaalisesti suorittamalla alla oleva komento:

npm install readline - synkronoida

Tulos näyttää, että readline-sync-moduuli on lisätty nykyiseen Node.js-projektiin:

Käytä nyt ' readline-sync ” moduuli käytännössä noudattamalla annettua koodinpätkää:

oli readlineSync = vaatia ( 'readline-sync' ) ;
oli empName = readlineSync. kysymys ( 'Työntekijän nimi: ' ) ;
oli jd = readlineSync. kysymys ( 'Työnkuvaus: ' ) ;
oli yhtiö = readlineSync. kysymys ( 'Yhtiö: ' , {
} ) ;
konsoli. Hirsi ( empName + 'toimii' + jd + ' sisään ' + yhtiö ) ;

Yllä olevan koodin selitys on seuraava:

  • Ensinnäkin ' readline-sync ' moduuli tuodaan tiedoston sisään ja sen objekti tallennetaan uuteen muuttujaan ' readlineSync ”.
  • Seuraavaksi kysely tehdään ' kysymys ()' -menetelmää määrittämällä se argumentiksi.
  • Samaa menettelyä käytetään seuraavien kysymysten esittämiseen.
  • Sen jälkeen ' console.log ()' -menetelmää käytetään syötettyjen arvojen näyttämiseen lainausmerkkijonon kanssa.

Lähtö

Suorita ' indeksi .js'-tiedosto:

solmuindeksi. js

Tulos osoittaa, että käyttäjien syötteet on otettu synkronisesti ja esitetty käyttämällä ' readline-sync ” moduuli:

Tapa 3: Hyväksy syöttö komentoriviltä 'kehote'-moduulin avulla

' kehote ” on asynkroninen moduuli, joka luo kehotusfunktion tallentaakseen käyttäjän syötteen muuttujan arvoksi ja hakeakseen sen sitten tuloksena. Sen ei tarvitse määrittää luettavaa ja kirjoitettavaa virtaa erikseen, minkä vuoksi se on melko helppokäyttöinen verrattuna ' Lue rivi ” moduuli.

Asenna 'kehote'-moduuli

' kehote ' on myös kolmannen osapuolen moduuli, joka voidaan asentaa helposti '' npm ' tällä tavalla:

npm asennuskehote -- Tallentaa

Yllä olevassa komennossa ' -Tallentaa ' lippu lisää ' kehote ' -moduulista ' package.json ” tiedosto.

Voidaan analysoida, että ' kehote ” on lisätty nykyiseen Node.js-projektiin:

Käytä nyt asennettua ' kehote ” moduuli käytännössä seuraavan koodinpätkän avulla:

konst kehote = vaatia ( 'kehottaa' )
kehote. alkaa ( )
kehote. saada ( [ 'authorName' , 'Kategoria' ] , ( err , tulos ) => {
jos ( err ) {
heittää err

} muu {
konsoli. Hirsi ( `$ { tulos. tekijän nimi } toimii $ { tulos. Kategoria } ` )

}
} )

Yllä mainitussa koodilohkossa:

  • ' vaatia ()' -menetelmä tuo ' kehote ” moduuli projektiin.
  • ' alkaa ()” -menetelmä käynnistää kehotteen.
  • ' saada ()' -menetelmä ottaa syötteen käyttäjältä komentorivin kautta. Se määrittää ominaisuuksien nimet ja takaisinsoittonuolitoiminnon ensimmäiseksi ja toiseksi parametriksi.
  • Takaisinsoittotoiminto ' err ' ja ' tulos ' parametrit määrittelevät ' tai muuten ”lausunto.
  • Jos tapahtuu minkä tahansa tyyppinen virhe, ' jos '-lohko aiheuttaa virheen, muuten ' muu ” -lohko näyttää määritettyjen ominaisuuksien arvot lähtönä.

Lähtö

Suorita ' indeksi .js'-tiedosto:

solmuindeksi. js

Seuraava tulos ottaa käyttäjän syötteen määritettyjen ominaisuuksien perusteella ja hakee sitten niiden arvot ulostulona:

Tapa 4: Hyväksy syöttö komentoriviltä 'Inquirer'-moduulin avulla

Node.js:ssa ' tiedustelija ” on helppo tapa ottaa syöte komentoriviltä. Siinä on useita hyödyllisiä tapoja ottaa syötteitä käyttäjiltä ja palauttaa sitten tulos käyttämällä ' vastaus 'objekti ja '. sitten ()” sisäänrakennettu menetelmä.

Se on hyödyllinen, kun kysyt käyttäjältä erilaisia ​​kysymyksiä komentorivin kautta, kuten luettelo, asetukset, syöttö, valintaruudut ja paljon muuta. Se tarjoaa kätevän tavan tehdä komentoriviliittymästä interaktiivinen kyselypohjaisia ​​tehtäviä varten.

Seuraa yksityiskohtaista ohjetta ' Ota syöttö komentoriviltä Node.js Inquirerin avulla ” käytännön esittelyyn.

Vinkki: Kuinka välittää argumentit komentoriviltä Nodessa?

Käyttäjä voi myös välittää argumentteja komentoriviltä. Tätä tarkoitusta varten ' process.argv ”kiinteistöä voidaan käyttää. ' argv ' on 'prosessi'-moduulin sisäänrakennettu ominaisuus, jota käytetään argumenttien välittämiseen komentoriviltä ajettaessa Node.js-sovellusta käyttämällä ' solmu ”komento.

Seuraa yksityiskohtaista ohjetta ' Ohjaa argumentit Node.js:n komentoriviltä ” käytännön esittelyyn.

Siinä on kyse Node.js:n komentoriviltä syötteiden hyväksymisestä.

Johtopäätös

Jos haluat hyväksyä syötteen komentoriviltä, ​​käytä asynkronista ' Lue rivi ' tai synkroninen ' readline-sync ” moduuli. Lisäksi se voidaan suorittaa myös ' kehote ' tai ' tiedustelija ” moduuli. Paitsi ' redline-synkronointi ”-moduulia, kaikki muut moduulit ovat asynkronisia. Tässä kirjoituksessa on käsitelty kaikkia mahdollisia tapoja hyväksyä syöte Node.js:n komentoriviltä.