شرح كائن عملية العقدة

و processالكائن في نود.جي إس هو كائن العالمي التي يمكن الوصول إليها داخل أي وحدة دون الحاجة إلى ذلك. هناك عدد قليل جدًا من العناصر أو الخصائص العامة المتوفرة في Node.js processوهي واحدة منها. إنه مكون أساسي في النظام البيئي Node.js لأنه يوفر مجموعات معلومات متنوعة حول وقت تشغيل البرنامج.

للاستكشاف سوف نستخدم إحدى خصائصه التي تسمى process.versions. تخبرنا هذه الخاصية بالمعلومات حول إصدار Node.js الذي قمنا بتثبيته. يجب استخدامه مع -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' }

خاصية أخرى يمكنك التحقق منها وهي process.releaseنفس الأمر $ node --versionالذي استخدمناه عندما قمنا بتثبيت Node.js. لكن الإخراج هذه المرة سيكون أكثر تفصيلاً.

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

هذه بعض الأوامر المختلفة التي يمكننا استخدامها في سطر الأوامر للوصول إلى المعلومات التي لا يمكن لأي وحدة توفيرها.

هذا processالكائن هو مثيل لفئة EventEmitter. إنه يحتوي على أحداث محددة مسبقًا خاصة به مثل exitالتي يمكن استخدامها لمعرفة متى يكمل برنامج في Node.js تنفيذه.

قم بتشغيل البرنامج أدناه ويمكنك ملاحظة أن النتيجة تأتي مع رمز الحالة 0. في Node.js ، يعني رمز الحالة هذا أن البرنامج قد تم تشغيله بنجاح.

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

مخرجات البرنامج أعلاه:

Execution Completed Exited with status code: 0

Processيوفر أيضًا خصائص متنوعة للتفاعل معها. يمكن استخدام بعضها في تطبيق Node لتوفير بوابة للتواصل بين تطبيق Node وأي واجهة سطر أوامر. يعد هذا مفيدًا جدًا إذا كنت تقوم بإنشاء تطبيق أو أداة مساعدة لسطر الأوامر باستخدام Node.js

  • process.stdin: دفق قابل للقراءة
  • process.stdout: تيار قابل للكتابة
  • process.stderr: تيار قابل للتعرّف على الأخطاء

باستخدام argvيمكنك دائمًا الوصول إلى الوسائط التي يتم تمريرها في سطر الأوامر. argvهي مصفوفة تحتوي على العقدة نفسها كعنصر أول والمسار المطلق للملف كعنصر ثانٍ. من العنصر الثالث فصاعدًا ، يمكن أن يحتوي على العديد من الوسائط كما تريد.

جرب البرنامج أدناه للحصول على مزيد من المعلومات حول كيفية استخدام هذه الخصائص والوظائف المختلفة.

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

إذا قمت بتشغيل الكود أعلاه باستخدام الأمر التالي ، فستحصل على الإخراج وستتم argvطباعة أول عنصرين .

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