البرمجة

تمرير الوسائط في npm scripts

في عالم تطوير البرمجيات، يعتبر تمرير الوسائط (المعاملات) إلى السكربتات والبرامج أمرًا أساسيًا لتحقيق التخصيص وتحديد سلوك البرنامج. في بيئة npm، يمكنك بسهولة تمرير وسائط إلى سكربتاتك المحددة في ملف package.json. سأقدم لك توجيهًا شاملاً حول كيفية تحقيق ذلك.

في ملف package.json الخاص بك، يمكنك استخدام تعبيرات الدولار لتمرير الوسائط إلى السكربت. ومع ذلك، يتعين عليك تغيير قليلاً في هيكل الأمر الذي تقوم بتنفيذه في ملف package.json.

لنفترض أنك تريد تمرير وسيطين (arguments) إلى سكربت “test”. يمكنك تعديل السكربت كما يلي:

json
"scripts": { "test": "node mytest.js" }

ثم، عند تشغيل الأمر npm، يمكنك تمرير الوسائط كالتالي:

bash
npm run test -- 8080 production

في هذا السياق، يتم استخدام -- للفصل بين الأمر والوسائط. الوسائط المتبقية ستتم تمريرها إلى الأمر الرئيسي، الذي هو node mytest.js في هذه الحالة.

الآن، في ملف mytest.js، يمكنك الوصول إلى الوسائط باستخدام process.argv. سيكون لديك شيء مشابه للتالي:

javascript
// mytest.js // إزالة العنصرين الأولين من process.argv لأنهما يحتويان على مسارات النود والسكربت const args = process.argv.slice(2); console.log("Arguments:", args); // الآن يمكنك استخدام args كمعاملات داخل السكربت

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

المزيد من المعلومات

في عالم تطوير البرمجيات، يُعتبر npm (Node Package Manager) أحد الأدوات الرئيسية التي تستخدم لإدارة وتوزيع حزم البرمجيات في بيئة Node.js. يشكل ملف package.json جزءًا أساسيًا من أي مشروع Node.js، حيث يحتوي على معلومات حول المشروع والاعتمادات (dependencies) والأوامر الخاصة بالتشغيل والاختبار وغيرها.

في السياق الخاص بك، كنت تسأل عن كيفية تمرير الوسائط (المعاملات) إلى سكربت معين داخل ملف package.json عند استخدام npm scripts. استخدمت تعبيرات الدولار ($1، $2) في محاولة لتحقيق ذلك. ومع ذلك، هذا النهج لا يعمل كما هو متوقع في npm scripts.

لحل هذه المشكلة، قمت بتعديل سكربتك في ملف package.json ليصبح أكثر توجيهًا، وذلك باستخدام npm run test -- 8080 production. هذا الأمر يستخدم -- لفصل الأمر الرئيسي (npm run test) عن الوسائط (8080 production)، وهكذا يمكن تمرير الوسائط بنجاح إلى الأمر الذي تريد تنفيذه (node mytest.js).

في سكربت mytest.js، يتم استخدام process.argv للوصول إلى الوسائط الممررة. يتم استخدام slice(2) لتجاوز العناصر الأولى في process.argv التي تحتوي على مسار النود واسم السكربت، وبالتالي يتم الحصول على مصفوفة args التي تحتوي على الوسائط.

هذا النهج يسمح لك بتحقيق الهدف المنشود من تمرير الوسائط إلى سكربت Node.js الخاص بك باستخدام npm scripts. تذكير بأهمية فصل الأمر والوسائط باستخدام -- لضمان عملية التمرير بشكل صحيح.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر