Hoe invoer van de opdrachtregel in Node.js accepteren?

Hoe Invoer Van De Opdrachtregel In Node Js Accepteren



Node.js is een bekende open-source gratis JavaScript-runtime-omgeving waarmee gebruikers de JavaScript-code vanuit een bestand of rechtstreeks vanaf de opdrachtregel kunnen uitvoeren. Voor het uitvoeren van een JavaScript-code vanuit een bestand is een extern “. js ” file-opdracht terwijl de opdrachtregel de JavaScript-code rechtstreeks regel voor regel uitvoert.

Soms moet de gebruiker de informatie configureren terwijl hij de Node.js-applicatie start vanaf de opdrachtregel via de “ knooppunt ”. In een dergelijke situatie moet de gebruiker die informatie rechtstreeks doorgeven als invoer bij het uitvoeringscommando, in plaats van deze in het bestand “. js ' bestand.







In dit artikel worden alle mogelijke methoden besproken om invoer van de opdrachtregel in Node.js te accepteren.



Hoe invoer van de opdrachtregel in Node.js accepteren?

Node.js biedt de volgende modules om invoer vanaf de opdrachtregel te accepteren:



Laten we beginnen met de “ Lees regel ”module.





Vereisten : Voordat u verdergaat met de praktische implementatie van welke methode dan ook, maakt u eerst een “. js ”-bestand met een willekeurige naam en schrijf alle broncode ernaar. Hier hebben we een “ inhoudsopgave .js”-bestand.

Methode 1: Accepteer invoer vanaf de opdrachtregel met behulp van de “readline” -module

De ' Lees regel ”-module creëert een interface voor het lezen van de gebruikersinvoer van de leesbare stream en het retourneren van het antwoord als de resulterende uitvoer. Het is een ingebouwde module, zodat de gebruiker deze rechtstreeks in de Node.js-applicatie kan importeren zonder deze te installeren met behulp van “ npm ”.



In dit scenario wordt het gebruikt om de invoer van de opdrachtregel over te nemen en deze vervolgens op het uitvoerscherm af te drukken. Hier is de praktische implementatie ervan:

const Lees regel = vereisen ( 'Lees regel' )
const r = Lees regel. creëerInterface ( {
invoer : proces. stdin ,
uitgang : proces. stoer
} )
r. vraag ( `Beste platform voor technische inhoud ? ` , website => {
r. vraag ( `Welke categorie je wilt verkennen.' ? ` , categorie => {
troosten. loggen ( `Website : $ { website } , Categorie : $ { categorie } ` )
r. dichtbij ( )
} )
} )

De beschrijving van de bovenstaande coderegels is als volgt:

  • In de eerste plaats de “ vereisen ()”methode importeert de “ Lees regel ”-module in het huidige Node.js-project.
  • Vervolgens wordt de “ creëerInterface ()”methode specificeert de “ input en output 'streamt als een object. De ' invoer 'stream gebruikt de' proces.stdin ”-eigenschap voor het ontvangen van invoer van de gebruiker.
  • De ' uitgang ”-stream maakt gebruik van de “ proces.stdout ”-eigenschap voor het lezen van de invoerstroom en het afdrukken ervan als de standaarduitvoer van de gegeven invoerstroom.
  • Daarna wordt de “ rl.vraag ()”-methode neemt de invoer van de gebruiker. Het geeft de vraag door als eerste en de callback-functie als tweede argument. De gegeven callback-pijlfunctie haalt de door de gebruiker ingevoerde waarden op.
  • In de definitie van het gegeven “ website ', en de ' categorie ' terugbelpijlfunctie, de ' console.log ()”-methode wordt gebruikt om de ingevoerde waarden weer te geven.
  • Als laatste wordt de “ rl.sluiten ()”-methode sluit de hierboven gemaakte interface.

Uitvoer

Start de “ inhoudsopgave .js”-bestand door de opgegeven opdracht uit te voeren:

knooppuntindex. js

De volgende uitvoer toont een leesregelinterface die de gebruikersinvoer van de opdrachtregel overneemt en vervolgens de ingevoerde waarde weergeeft als de standaarduitvoer:

Methode 2: Accepteer invoer vanaf de opdrachtregel met behulp van de “readline-sync” -module

De ' leesregel-synchronisatie ” is de module van derden die synchroon de informatie met betrekking tot hardgecodeerde vragen ophaalt en de bijbehorende antwoorden opslaat voor toekomstige bewerkingen. Het fungeert als communicatie tussen de client en de server vanaf de opdrachtregel.

Het belangrijkste verschil tussen asynchrone en synchrone modules is dat de “ asynchroon ”blokkeert de uitvoering van de broncode totdat de opgegeven taak niet wordt uitgevoerd, terwijl de synchrone modules de code regel voor regel op een sequentiële manier uitvoeren.

Installeer de “readline-sync”-module

De “readline-synchronisatie” module is geen ingebouwde module, dus deze moet handmatig worden geïnstalleerd door de onderstaande opdracht uit te voeren:

npm installeer leesregel - synchroniseren

De uitvoer laat zien dat de readline-sync-module is toegevoegd aan het huidige Node.js-project:

Gebruik nu de “ leesregel-synchronisatie ”-module praktisch door het gegeven codefragment te volgen:

was readlineSync = vereisen ( 'readline-synchronisatie' ) ;
was empNaam = readlineSync. vraag ( 'Naam werknemer: ' ) ;
was jd = readlineSync. vraag ( 'Functieomschrijving: ' ) ;
was bedrijf = readlineSync. vraag ( 'Bedrijf: ' , {
} ) ;
troosten. loggen ( empNaam + 'werkt als een' + jd + ' in ' + bedrijf ) ;

De uitleg van de bovenstaande code is als volgt:

  • Eerst de ' leesregel-synchronisatie ” module wordt geïmporteerd in het bestand en het object wordt opgeslagen in een nieuwe variabele “ readlineSync ”.
  • Vervolgens wordt de vraag gesteld met behulp van de “ vraag ()” door deze als argument op te geven.
  • Voor het stellen van de volgende vragen wordt dezelfde procedure gevolgd.
  • Daarna wordt de “ console.log ()”-methode wordt gebruikt om de ingevoerde waarden samen met de tekenreeks tussen aanhalingstekens weer te geven.

Uitvoer

Voer de “ inhoudsopgave .js”-bestand:

knooppuntindex. js

De output laat zien dat op synchrone wijze de input van gebruikers is overgenomen en weergegeven met behulp van de “ leesregel-synchronisatie ”module:

Methode 3: Accepteer invoer vanaf de opdrachtregel met behulp van de “prompt” -module

De ' snel ” is een asynchrone module die een promptfunctie creëert om de gebruikersinvoer op te slaan als de waarde van de variabele en deze vervolgens op te halen als de resulterende uitvoer. Het hoeft de leesbare en schrijfbare stream niet expliciet te configureren, daarom is het vrij eenvoudig te gebruiken in vergelijking met de “ Lees regel ”module.

Installeer de “prompt”-module

De ' snel ” is ook een module van derden die eenvoudig kan worden geïnstalleerd met behulp van “ npm ' op deze manier:

npm-installatieprompt -- redden

In het bovenstaande commando wordt de “ -redden 'vlag voegt de' snel ”-module naar de “ pakket.json ' bestand.

Er kan worden geanalyseerd dat de “ snel ” is toegevoegd aan het huidige Node.js-project:

Gebruik nu de geïnstalleerde “ snel ”-module praktisch met behulp van het volgende codefragment:

const snel = vereisen ( 'snel' )
snel. begin ( )
snel. krijgen ( [ 'auteur naam' , 'Categorie' ] , ( fout , resultaat ) => {
als ( fout ) {
gooien fout

} anders {
troosten. loggen ( `$ { resultaat. auteur naam } werkt op € { resultaat. Categorie } ` )

}
} )

In het bovengenoemde codeblok:

  • De ' vereisen ()”methode importeert de “ snel ”-module in het project.
  • De ' begin ()”-methode start de prompt.
  • De ' krijgen ()”-methode neemt de invoer van de gebruiker via de opdrachtregel. Het specificeert de eigenschapsnamen en de callback-pijlfunctie als de eerste en tweede parameters.
  • De terugbelfunctie met “ fout ' En ' resultaat 'parameters definiëren een' als-anders ' stelling.
  • Als er een type fout optreedt, wordt het bericht “ als ”-blok zal die fout genereren, anders zal het “ anders ”-blok geeft de waarden van de opgegeven eigenschappen als uitvoer weer.

Uitvoer

Voer de ... uit ' inhoudsopgave .js”-bestand:

knooppuntindex. js

De volgende uitvoer neemt de gebruikersinvoer op basis van de opgegeven eigenschappen en haalt vervolgens hun waarden op als uitvoer:

Methode 4: Accepteer invoer vanaf de opdrachtregel met behulp van de module 'inquirer'.

In Node.js is de “ onderzoeker ” is een eenvoudige manier om de invoer van de opdrachtregel over te nemen. Het wordt geleverd met verschillende handige methoden om input van gebruikers te ontvangen en vervolgens de uitvoer terug te sturen met behulp van de “ antwoord 'object en de'. Dan ()” ingebouwde methode.

Het is handig voor het stellen van verschillende soorten vragen aan de gebruiker via de opdrachtregel, zoals lijst, opties, invoer, selectievakjes en nog veel meer. Het biedt een handige manier om de opdrachtregelinterface interactief te maken voor op zoekopdrachten gebaseerde taken.

Volg de gedetailleerde gids op “ Neem invoer vanaf de opdrachtregel met behulp van Node.js Inquirer ” voor praktische demonstratie.

Tip: Hoe geef ik argumenten door vanaf de opdrachtregel in Node?

De gebruiker kan ook argumenten doorgeven vanaf de opdrachtregel. Voor dit doel is de “ proces.argv 'eigenschap kan worden gebruikt. De ' argv ' is de ingebouwde eigenschap van de 'proces'-module die wordt gebruikt om de argumenten vanaf de opdrachtregel door te geven terwijl de Node.js-toepassing wordt uitgevoerd met behulp van de ' knooppunt commando.

Volg de gedetailleerde gids op “ Geef argumenten door vanaf de opdrachtregel in Node.js ” voor praktische demonstratie.

Dat draait allemaal om het accepteren van invoer van de opdrachtregel in Node.js.

Conclusie

Om de invoer van de opdrachtregel te accepteren, gebruikt u de asynchrone “ Lees regel ”, of de synchrone “ leesregel-synchronisatie ”module. Bovendien kan het ook worden uitgevoerd via de “ snel ' of de ' onderzoeker ”module. Behalve de ' redline-synchronisatie ”-module, alle overige modules zijn asynchroon. In dit artikel zijn alle mogelijke methoden besproken om invoer van de opdrachtregel in Node.js te accepteren.