Hogyan fogadhat el bevitelt a Node.js parancssorából?

Hogyan Fogadhat El Bevitelt A Node Js Parancssorabol



A Node.js egy jól ismert nyílt forráskódú, ingyenes JavaScript futtatókörnyezet, amely lehetővé teszi a felhasználók számára, hogy fájlból vagy közvetlenül a parancssorból végrehajtsák a JavaScript-kódot. JavaScript-kód fájlból való futtatásához külső '. js ” fájlparancsot, miközben a parancssor közvetlenül soronként hajtja végre a JavaScript kódot.

Néha a felhasználónak konfigurálnia kell az információkat, miközben elindítja a Node.js alkalmazást a parancssorból a „ csomópont ”. Ilyen helyzetben a felhasználónak közvetlenül át kell adnia ezt az információt bemenetként a végrehajtási paranccsal, ahelyett, hogy beírná a „. js ” fájlt.







Ez az írás a Node.js parancssorából érkező bevitel elfogadásának összes lehetséges módszerét tárgyalja.



Hogyan fogadhat el bevitelt a Node.js parancssorából?

A Node.js a következő modulokat kínálja a parancssorból érkező bevitel fogadására:



Kezdjük a „ readline ” modult.





Előfeltételek : Mielőtt továbblépne bármely módszer gyakorlati megvalósításához, először hozzon létre egy „. js ” bármilyen nevű fájlt, és írd bele az összes forráskódot. Itt létrehoztunk egy „ index .js” fájl.

1. módszer: bevitel elfogadása a parancssorból a „readline” modul használatával

A ' readline ” modul létrehoz egy interfészt a felhasználói bemenet kiolvasására az olvasható adatfolyamból, és a válasz eredményként történő visszaküldésére. Ez egy beépített modul, így a felhasználó közvetlenül importálhatja a Node.js alkalmazásba anélkül, hogy telepítené a „ npm ”.



Ebben a forgatókönyvben a bemenetet a parancssorból veszi, majd kinyomtatja a kimeneti képernyőn. Íme a gyakorlati megvalósítása:

const readline = igényelnek ( 'olvasóvonal' )
const rl = readline. CreateInterface ( {
bemenet : folyamat. stdin ,
Kimenet : folyamat. stdout
} )
rl. kérdés ( `A legjobb platform számára műszaki tartalom ? ` , weboldal => {
rl. kérdés ( „Melyik kategóriát szeretné felfedezni ? ` , kategória => {
konzol. log ( `Webhely : $ { weboldal } , Kategória : $ { kategória } ` )
rl. Bezárás ( )
} )
} )

A fenti kódsorok leírása a következő:

  • Először is a „ igényelnek ()” módszer importálja a „ readline ” modult az aktuális Node.js projektben.
  • Ezután a „ CreateInterface ()” metódus meghatározza a „ bemenet és kimenet ” tárgyként áramlik. A ' bemenet ' adatfolyam a ' folyamat.stdin ” tulajdonság a felhasználótól való bevitelhez.
  • A ' Kimenet ' adatfolyam a ' folyamat.stdout ” tulajdonság a bemeneti adatfolyam olvasásához és az adott bemeneti folyam szabványos kimeneteként történő kinyomtatásához.
  • Ezt követően a „ rl.kérdés ()” metódus a felhasználótól veszi a bemenetet. Elsőként a kérdést adja át, második argumentumaként pedig a visszahívási függvényt. Az adott visszahívási nyíl függvény lekéri a felhasználó által beírt értékeket.
  • Az adott „ weboldal ', és a ' kategória ' visszahívási nyíl funkció, a ' console.log ()” metódus a beírt értékek megjelenítésére szolgál.
  • Végül a „ rl.bezár ()” metódus bezárja a fent létrehozott felületet.

Kimenet

Indítsa el a „ index .js” fájlt a megadott parancs végrehajtásával:

csomópont index. js

A következő kimenet egy readline interfészt mutat, amely a felhasználói bevitelt a parancssorból veszi, majd standard kimenetként jeleníti meg a beírt értéket:

2. módszer: bevitel elfogadása a parancssorból a „readline-sync” modul használatával

A ' readline-Sync ” egy harmadik féltől származó modul, amely szinkronban lekéri a kódolt kérdésekkel kapcsolatos információkat, és eltárolja a megfelelő válaszokat a jövőbeni műveletekhez. Kommunikációként működik a kliens és a szerver között a parancssorból.

A fő különbség az aszinkron és a szinkron modulok között az, hogy a „ aszinkron ” blokkolja a forráskód végrehajtását mindaddig, amíg a megadott feladat nem hajtódik végre, míg a szinkron modulok soronként hajtják végre a kódot szekvenciálisan.

Telepítse a „readline-sync” modult

A „Readline-Sync” modul nem beépített modul, ezért manuálisan kell telepíteni az alábbi parancs végrehajtásával:

npm install readline - szinkronizál

A kimenet azt mutatja, hogy a readline-sync modul hozzá lett adva az aktuális Node.js projekthez:

Most használja a „ readline-Sync ” modul gyakorlatilag a megadott kódrészletet követve:

volt readlineSync = igényelnek ( 'readline-sync' ) ;
volt empName = readlineSync. kérdés ( 'Alkalmazott Neve: ' ) ;
volt jd = readlineSync. kérdés ( 'Munkaköri leírás: ' ) ;
volt vállalat = readlineSync. kérdés ( 'Vállalat: ' , {
} ) ;
konzol. log ( empName + 'mint' + jd + ' ban ben ' + vállalat ) ;

A fenti kód magyarázata a következő:

  • Először is a „ readline-Sync ' modul importálva van a fájlba, és az objektuma egy új változóban kerül tárolásra ' readlineSync ”.
  • Ezután a lekérdezés a „ kérdés ()” metódust, ha argumentumként adja meg.
  • Ugyanezt az eljárást alkalmazzuk a következő kérdések feltevésére is.
  • Ezt követően a „ console.log ()” metódus a beírt értékek és az idézőjeles karakterlánc megjelenítésére szolgál.

Kimenet

Hajtsa végre a „ index .js” fájl:

csomópont index. js

A kimenet azt mutatja, hogy szinkron módon a felhasználók bemenetét vették és a „ readline-Sync ” modul:

3. módszer: Fogadjon bevitelt a parancssorból a „prompt” modul használatával

A ' gyors ” egy aszinkron modul, amely egy felszólító függvényt hoz létre, amely a felhasználói bemenetet a változó értékeként tárolja, majd lekéri az eredményként kapott kimenetként. Nem kell kifejezetten konfigurálnia az olvasható és írható adatfolyamot, ezért meglehetősen egyszerű a használata a ' readline ” modult.

Telepítse a „prompt” modult

A ' gyors ” szintén egy harmadik féltől származó modul, amely egyszerűen telepíthető a „ npm ” ilyen módon:

npm telepítési prompt -- megment

A fenti parancsban a „ -megment ' zászló hozzáteszi a ' gyors ' modult a ' package.json ” fájlt.

Elemezhető, hogy a „ gyors ” hozzáadva a jelenlegi Node.js projekthez:

Most használja a telepített ' gyors ” modul gyakorlatilag a következő kódrészlet segítségével:

const gyors = igényelnek ( 'gyors' )
gyors. Rajt ( )
gyors. kap ( [ 'authorName' , 'Kategória' ] , ( téved , eredmény ) => {
ha ( téved ) {
dobás téved

} más {
konzol. log ( `$ { eredmény. szerzőNév } $-on működik { eredmény. Kategória } ` )

}
} )

A fent megadott kódblokkban:

  • A ' igényelnek ()” módszer importálja a „ gyors ” modult a projektbe.
  • A ' Rajt ()” metódus elindítja a promptot.
  • A ' kap ()” metódus a parancssoron keresztül veszi a felhasználó bevitelét. Megadja a tulajdonságneveket és a visszahívási nyíl funkciót első és második paraméterként.
  • A visszahívási funkció a „ téved ” és „ eredmény ' paraméter egy ' ha más ' nyilatkozat.
  • Ha bármilyen típusú hiba történik, akkor a „ ha ' blokk ezt a hibát dobja ki, ellenkező esetben a ' más ” blokk a megadott tulajdonságok értékeit jeleníti meg kimenetként.

Kimenet

Futtassa a „ index .js” fájl:

csomópont index. js

A következő kimenet a megadott tulajdonságok alapján veszi a felhasználói bemenetet, majd kimenetként lekéri azok értékeit:

4. módszer: Bevitel elfogadása a parancssorból a „kérdező” modul használatával

A Node.js-ben a „ érdeklődő ” egy egyszerű módja annak, hogy a parancssorból átvegye a bemenetet. Számos hasznos módszert tartalmaz a felhasználóktól származó adatok fogadására, majd a kimenet visszaadására a „ válasz ” objektum és a „. akkor ()” beépített módszerrel.

Hasznos, ha különböző típusú kérdéseket tesz fel a felhasználónak a parancssorban, például listát, opciókat, bevitelt, jelölőnégyzeteket és sok mást. Kényelmes módot biztosít a parancssori felület interaktívvá tételére a lekérdezés alapú feladatokhoz.

Kövesse a részletes útmutatót a „ Vegyen be bevitelt a parancssorból a Node.js Inquirer segítségével ” gyakorlati bemutatóra.

Tipp: Hogyan lehet argumentumokat átadni a Node parancssorából?

A felhasználó a parancssorból is átadhat argumentumokat. Ebből a célból a „ folyamat.argv ” ingatlan használható. A ' argv ” a „process” modul beépített tulajdonsága, amely az argumentumok átadására szolgál a parancssorból, miközben a Node.js alkalmazást a „ csomópont ” parancsot.

Kövesse a részletes útmutatót a „ Argumentumok átadása a Node.js parancssorából ” gyakorlati bemutatóra.

Ez minden a Node.js parancssorából érkező bevitel elfogadásáról szól.

Következtetés

A parancssorból érkező bevitel elfogadásához használja az aszinkron ' readline ' vagy a szinkron ' readline-Sync ” modult. Sőt, a „ gyors ' vagy a ' érdeklődő ” modult. Kivéve a ' redline-Sync ” modul, az összes többi modul aszinkron. Ez az írás ismerteti az összes lehetséges módszert a Node.js parancssorából történő bevitel elfogadására.