شرح كائن عملية العقدة
و 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