Csomópont Feldolgozott objektum

A processNode.js objektum egy globális objektum, amely bármely modul belsejében elérhető, anélkül, hogy igényelné. Nagyon kevés globális objektum vagy tulajdonság található a Node.js fájlban, és processezek egyike. Ez alapvető eleme a Node.js ökoszisztémának, mivel különféle információkészleteket nyújt a program futásidejéről.

A felfedezéshez az egyik tulajdonságát fogjuk használni process.versions. Ez a tulajdonság megadja nekünk a telepített Node.js verzióval kapcsolatos információkat. Zászlóval kell használni -p.

$ 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' }

Egy másik tulajdonság, amelyet ellenőrizhet process.release, ugyanaz, mint a $ node --versionNode.js telepítésekor használt parancs . De a kimenet ezúttal részletesebb lesz.

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' }

Ezek a különböző parancsok, amelyeket a parancssorban használhatunk olyan információk elérésére, amelyeket egyébként egyetlen modul sem tud biztosítani.

Ez az processobjektum az EventEmitter osztály példánya. Tartalmaz saját, előre definiált eseményeket, exitamelyek segítségével megtudhatja, hogy a Node.js programja mikor hajtotta végre a végrehajtást.

Futtassa az alábbi programot, és megfigyelheti, hogy az eredmény állapotkóddal áll elő 0. A Node.js-ben ez az állapotkód azt jelenti, hogy egy program sikeresen futott.

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

A fenti program kimenete:

Execution Completed Exited with status code: 0

Processkülönféle tulajdonságokkal is rendelkezik, amelyekkel kölcsönhatásba léphet. Néhányuk felhasználható egy Node alkalmazásban átjáró biztosítására a Node alkalmazás és bármely parancssori interfész közötti kommunikációhoz. Ez nagyon hasznos, ha parancssori alkalmazást vagy segédprogramot épít a Node.js használatával

  • process.stdin: olvasható adatfolyam
  • process.stdout: írható adatfolyam
  • process.stderr: a hibák felismerésére szolgáló lefordítható adatfolyam

A használatával argvmindig elérheti a parancssorban átadott argumentumokat. argvegy tömb, amelynek első eleme maga a Node, a második elemként pedig a fájl abszolút elérési útja. A harmadik elemtől kezdve annyi argumentum lehet, amennyit csak akar.

Próbálja ki az alábbi programot, hogy minél több betekintést nyerjen e különféle tulajdonságok és funkciók használatába.

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

Ha a fenti kódot a következő paranccsal futtatja, akkor megkapja a kimenetet, és az első két elem argvkinyomtatásra kerül.

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