Objašnjen objekt procesa čvora

processObjekt u Node.js je globalni objekt koji se može pristupiti u bilo kojem modulu bez potrebe. U Node.js postoji vrlo malo globalnih objekata ili svojstava i processjedan je od njih. To je bitna komponenta u ekosustavu Node.js jer pruža razne skupove informacija o vremenu izvođenja programa.

Za istraživanje koristit ćemo se jednim od njegovih svojstava koje se naziva process.versions. Ovo nam svojstvo govori o informacijama o verziji Node.js koju smo instalirali. Mora se koristiti sa -pzastavom.

$ node -p "process.versions" # output { http_parser: '2.8.0', node: '8.11.2', v8: '6.2.414.54', uv: '1.19.1', zlib: '1.2.11', ares: '1.10.1-DEV', modules: '57', nghttp2: '1.29.0', napi: '3', openssl: '1.0.2o', icu: '60.1', unicode: '10.0', cldr: '32.0', tz: '2017c' }

Još jedno svojstvo koje možete provjeriti je process.releaseda je isto kao i naredba $ node --versionkoju smo koristili kada smo instalirali Node.js. Ali izlaz ovog puta bit će detaljniji.

node -p "process.release" # output { name: 'node', lts: 'Carbon', sourceUrl: '//nodejs.org/download/release/v8.11.2/node-v8.11.2.tar.gz', headersUrl: '//nodejs.org/download/release/v8.11.2/node-v8.11.2-headers.tar.gz' }

Ovo su neke od različitih naredbi koje možemo koristiti u naredbenom retku za pristup informacijama koje inače nijedan modul ne može pružiti.

Ovaj je processobjekt instanca klase EventEmitter. Sadrži vlastite unaprijed definirane događaje poput onih exitkoji se mogu koristiti da bi se znalo kada je program u Node.js dovršio svoje izvršavanje.

Pokrenite donji program i možete primijetiti da rezultat donosi statusni kod 0. U Node.js ovaj statusni kod znači da je program uspješno pokrenut.

process.on('exit', code => { setTimeout(() => { console.log('Will not get displayed'); }, 0); console.log('Exited with status code:', code); }); console.log('Execution Completed');

Rezultat gornjeg programa:

Execution Completed Exited with status code: 0

Processtakođer pruža različita svojstva za interakciju. Neki od njih mogu se koristiti u aplikaciji Node za pružanje pristupnika za komunikaciju između aplikacije Node i bilo kojeg sučelja naredbenog retka. Ovo je vrlo korisno ako gradite aplikaciju ili uslužni program naredbenog retka pomoću Node.js

  • proces.stdin: čitljiv tok
  • process.stdout: zapisljiv tok
  • process.stderr: izvodljivi tok za prepoznavanje pogrešaka

Korištenjem argvuvijek možete pristupiti argumentima koji se prosljeđuju u naredbenom retku. argvje niz koji ima Node kao prvi element, a apsolutni put datoteke kao drugi element. Od trećeg elementa nadalje može imati onoliko argumenata koliko želite.

Isprobajte program u nastavku kako biste dobili bolji uvid u to kako možete koristiti ta različita svojstva i funkcije.

process.stdout.write('Hello World!' + '\n'); process.argv.forEach(function(val, index, array) { console.log(index + ': ' + val); });

Ako pokrenete gornji kod sa sljedećom naredbom, dobit ćete izlaz i argvispisuju se prva dva elementa od .

$ node test.js # output Hello World! 0: /usr/local/bin/node 1: /Users/amanhimself/Desktop/articles/nodejs-text-tuts/test.js