Tamim Fahed نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 لدي خادم ويب node.js وأرغب عند تشغيله بتمرير قيم معيّنة كمتغيرات ومعالجتها ضمن كود الجافاسكريبت، حالياً أقوم بتشغيل الخادم من خلال الأمر التالي: node server.js ومن خلال التوثيق وجدت أنه يمكنني تمرير قيم ل options وأيضاً لمتغيرات arguments فيصبح الأمر بالشكل التالي: node server.js (arguments) ولكن كيف يمكنني الوصول لهذه المتغيّرات التي سأقوم بتمريرها هنا ضمن ملف server.js؟ وماهي الطريقة لوضع قيم arguments ضمن هذا الأمر؟ 1 اقتباس
0 Wael Aljamal نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 عند تشغيل مخدم node كما هو الحال لبقية البرامج يتم تمرير البيانات للعملية process المسؤولة عن تشغيل البرنامج. يتم تخزين البيانات في مصفوفة ضمن: process.argv حيث عند كتابة الأمر البيانات الممرة تكون على شكل مصفوفة: $ node argv.js one two three four five =>>> [ 'node', '/home/avian/argvdemo/argv.js', 'one', 'two', 'three', 'four', 'five' ] للحفاظ على المتغيرات فقط يمكن تنفيذ slice: var myArgs = process.argv.slice(2); console.log('myArgs: ', myArgs); ==>> myArgs: [ 'one', 'two', 'three', 'four', 'five' ] بعدها يمكن الوصول للوسيط الأول ب myArgs[0] myArgs[1] // الثاني 1 اقتباس
0 محمد أيت لعرايك نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 يمكنك إستعمال مكتبة minimist لتمرير قيم معيّنة كمتغيرات ومعالجتها ضمن كود الجافاسكريبت، فيما يلي مثال على كيفية استخدامه مأخوذ من التوثيق الرسمي للمكتبة: // parse.js ملف var argv = require('minimist')(process.argv.slice(2)); console.dir(argv); عند ننفيذ الأمر $ node example/parse.js -a beep -b boop تظهر النتائج كالتالي: { _: [], a: 'beep', b: 'boop' } 1 اقتباس
0 عبدالله عبدالرحمن11 نشر 22 يونيو 2021 أرسل تقرير نشر 22 يونيو 2021 الطريقة النموذجية بدون إستخدام مكتبات خارجية المتغيرات يتم تخزينها في المتغير process.argv ، وهيا عبارة عن مصفوفة تحتوي المتغيرات arguments ولكن العنصر الأول هو سيكون node والعنصر الثاني سيكون اسم ملف JavaScript وبقية العناصر ستكون أي متغيرات arguments إضافية ، يمكنك الحصول عليهن كالآتي process.argv.forEach(function (val, index, array) { console.log(index + ': ' + val); }); أو يمكنك إستخدام أحد هذه الحزم Minimist للحصول على الحد الدنى من قراءة المتغيرات arguments Commander.js وهذه الوحدة الأكثر إعتماداً لقراءة المتغيرات arguments meow بديل خفيف ل Commander.js Yargs قارئ المتغيرات arguments أكثر تعقيداً Vorpal.js تطبيق موجه أوامر تفاعلي مع قراءة المتغيرات arguments اقتباس
السؤال
Tamim Fahed
لدي خادم ويب node.js وأرغب عند تشغيله بتمرير قيم معيّنة كمتغيرات ومعالجتها ضمن كود الجافاسكريبت، حالياً أقوم بتشغيل الخادم من خلال الأمر التالي:
node server.js
ومن خلال التوثيق وجدت أنه يمكنني تمرير قيم ل options وأيضاً لمتغيرات arguments فيصبح الأمر بالشكل التالي:
node server.js (arguments)
ولكن كيف يمكنني الوصول لهذه المتغيّرات التي سأقوم بتمريرها هنا ضمن ملف server.js؟ وماهي الطريقة لوضع قيم arguments ضمن هذا الأمر؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.