Cum se transmit argumente din linia de comandă în Node.js?

Cum Se Transmit Argumente Din Linia De Comanda In Node Js



În unele cazuri, utilizatorul trebuie să transmită informații suplimentare pentru a configura aplicația Node.js în timpul procesului de lansare din linia de comandă. Pentru a face acest lucru, utilizatorul transmite acele informații cu comanda de execuție „ nodul ” în loc să-l scrii în exterior „.js” fișier în care este scris tot codul sursă. Aceste informații pot fi un șir, numere, argumente și multe altele.

Această postare va enumera toate aspectele posibile pentru a transmite argumente din linia de comandă în Node.js.







Cerințe preliminare: Înainte de a trece la implementarea practică a oricărei metode, mai întâi, creați un „. js ” cu orice nume și scrieți tot codul sursă în el. Aici, am creat un „ index fișier .js”.



Cum se transmit argumente din linia de comandă în Node.js?

Pentru a transmite argumente din linia de comandă, utilizați „ proces proprietate .argv”. „ argv ” este proprietatea încorporată a „ proces ” modul care este utilizat pentru a transmite argumentele din linia de comandă în timp ce rulează aplicația Node.js folosind „ nodul ” comanda.



Sintaxă

Sintaxa generalizată a „ proces Proprietatea .argv” este scrisă aici:





proces. argv

Parametri: proces .argv” este o proprietate care nu suportă niciun parametru.

Valoare returnată: proces Proprietatea .argv” oferă o matrice ca ieșire standard care conține următoarele elemente:



  • proces.argv[0]: Reprezintă calea fișierului executabil.
  • proces.argv[1]: Ea denotă calea „. js ” dosar.
  • proces.argv[2]: Acesta specifică primul argument care este transmis împreună cu „ nod ” comanda.
  • proces.argv[3]: Acesta specifică al doilea argument care este transmis împreună cu „ nod ” comanda.

Notă : Primele două elemente sunt întotdeauna afișate implicit în timpul utilizării „process.argv” proprietate chiar dacă utilizatorul nu transmite niciun argument.

Acum, aplicați „ proces .argv” practic pentru a transmite argumente din linia de comandă.

Exemplul 1: aplicarea proprietății „process.argv” pentru a trece argumente șir din linia de comandă

Acest exemplu aplică „ proces.argv ” proprietate pentru a transmite șiruri de caractere ca argumente din linia de comandă cu ajutorul blocului de cod furnizat mai jos:

pentru ( lasă-mă = 0 ; i < proces. argv . lungime ; ++ i ) {
consolă. Buturuga ( `index $ { i } argument -> $ { proces. argv [ i ] } ` ) ;
}

În liniile de cod de mai sus:

  • pentru ” bucla este definită cu o inițializare, condiție și o instrucțiune de increment.
  • În ' pentru starea buclei, „ proces.argv ” proprietatea este concatenată cu ” lungime ” pentru a obține fiecare valoare de argument transmisă împreună cu „ nodul ” comanda.
  • În interiorul ' pentru bucla „, bucla „ console.log() ” afișează fiecare valoare de argument împreună cu indexul său.

Ieșire

Rulați „ index .js” folosind următoarea comandă și, de asemenea, transmiteți șirurile ca argument cu acesta:

indexul nodului. js Bun venit la Linuxhint

Următoarea ieșire arată mai întâi executabilul și fișierul „. js ” calea fișierului și apoi afișează șirurile care sunt transmise ca argumente împreună cu indecșii acestora:

Exemplul 2: aplicarea proprietății „process.argv” pentru a adăuga două numere transmise ca argumente

Acest exemplu realizează o operație de adunare aritmetică pe două numere care sunt transmise ca argumente:

a fost argumente = proces. argv
funcţie adăuga ( A , b ) {
întoarcere parseInt ( A ) + parseInt ( b )
}
a fost sumă = adăuga ( argumente [ 2 ] , argumente [ 3 ] )
consolă. Buturuga ( „Adăugarea lui 1, 9 este” , sumă )

În fragmentul de cod de mai sus:

  • argumente „variabila folosește „ proces .argv” pentru preluarea argumentelor din linia de comandă.
  • În continuare, „ adăuga ()” funcția cu „ a”, și „b ' Parametrii aplică ' parseInt ()” metodă care analizează valoarea introdusă de utilizator ca șir și preia primul număr întreg.
  • După aceea, „ sumă variabila ” numește „ adăuga ()” prin trecerea „ argument [2]”, și „ argument [3]” din „ proces proprietate .argv”.
  • În cele din urmă, „ consolă Metoda .log()” afișează „ sumă ” valori variabile ca primul și al doilea element al tabloului returnat.

Ieșire

Inițiază „ index .js” și transmiteți numerele ca argumente pe care utilizatorul dorește să le adauge:

indexul nodului. js 1 9

Ieșirea arată adăugarea celor două numere care sunt transmise ca argumente în timpul rulării aplicației Node.js:

Exemplul 3: aplicarea proprietății „process.argv” pentru a imprima numai argumentele trecute

Acest exemplu exclude primele două elemente implicite din tabloul returnat de „ progres .argv” și afișează toate argumentele transmise:

const argumente = proces. argv . felie ( 2 ) ;
argumente. pentru fiecare ( ( valoare , index ) => {
consolă. Buturuga ( index , valoare ) ;
} ) ;

Explicația liniilor de cod de mai sus este următoarea:

  • În primul rând, „ argumente „variabila” aplică „ proces .argv” împreună cu „ felie ()” pentru a exclude primele două elemente din tabloul returnat.
  • În continuare, „ pentru fiecare ()” trece o funcție săgeată cu „ valoare ' și ' index ” ca primul și, respectiv, al doilea argument. Acesta va afișa toate elementele matricei unul câte unul pe ecranul de ieșire.
  • În cele din urmă, „ consolă Metoda .log()” afișează valoarea „ index ', și ' valoare ” parametri.

Ieșire

Executați „ index .js” și transmiteți, de asemenea, argumentele șirului cu comanda menționată mai jos:

indexul nodului. js Bun venit la Linuxhint

Acum, rezultatul de mai jos arată doar argumentele transmise împreună cu indecșii acestora:

Este vorba despre transmiterea argumentelor din linia de comandă.

Concluzie

Node.js oferă „ proces .argv” pentru a transmite argumentele de către utilizator din linia de comandă. Această proprietate oferă o matrice care conține executabilul și fișierul „. js ' calea fișierului la ' al 0-lea ' si ' 1 ” și argumentele transmise la „ al 2-lea ' și ' al 3-lea ” indici. Această proprietate permite utilizatorilor să transmită atât valorile șir, cât și valorile numerice ca argument din linia de comandă. Această postare a explicat practic toate aspectele posibile ale transmiterii argumentelor din linia de comandă în Node.js.