استخدم هذه المكتبات والأدوات المساعدة لإنشاء برامج CLI حديثة بكل ما تحتاجه من أجراس وصفارات.

واجهة سطر الأوامر (CLI) هي طريقة للتفاعل مع برنامج كمبيوتر أو نظام تشغيل باستخدام أوامر نصية. أداة CLI هي برنامج مساعد يمكنك تشغيله من سطر أوامر. تأخذ أدوات CLI عادةً أوامر تستند إلى النص من المستخدم وتؤدي مهامًا محددة بناءً على الأوامر.

يجب أن تدعم أدوات CLI عالية الجودة مجموعة واسعة من الوظائف. يمكنهم تحليل وسيطات سطر الأوامر وإنشاء تعليمات الاستخدام لتقديم ملاحظات مرئية ، من بين ميزات أخرى.

هناك العديد من حزم Node.js التي يمكن أن تساعدك في بناء أدوات CLI بسرعة ، وتقدم مجموعة واسعة من الوظائف والمرونة. هنا ، ستستكشف بعضًا من أفضل حزم Node.js لبناء أدوات CLI واكتشاف ميزاتها الرئيسية.

Commander عبارة عن حزمة Node.js لبناء واجهات سطر الأوامر. يوفر واجهة برمجة تطبيقات لتحديد الأوامر والخيارات والوسيطات ، مما يسهل إنشاء أدوات CLI.

يتولى Commander تحليل الوسائط في خيارات ووسيطات سطر الأوامر. بالإضافة إلى ذلك ، فإنه يعرض أخطاء للمشكلات وخيارات غير معروفة ويقوم تلقائيًا بإنشاء تعليمات الاستخدام (وثائق CLI).

instagram viewer

لتثبيت Commander كاعتمادية ، قم بتشغيل هذا الأمر:

npm ثَبَّتَ القائد

فيما يلي مثال على كيفية استخدام Commander في تطبيق Node.js:

// index.js
مقدار ثابت {الأمر} = يتطلب("القائد");

// إنشاء مثيل الأمر
مقدار ثابت البرنامج = جديد يأمر()؛

// أداة الإنشاء
برنامج
.اسم("استخدام الرياضيات")
.وصف("أداة CLI لأداء وظائف حسابية بسيطة")
.إصدار("1.0.0");

// إضافة الأمر
برنامج
.يأمر("يضيف")
.وصف("أضف رقمين")
.دعوى("", "الرقم الأول")
.دعوى("", "الرقم الثاني")
.فعل((أ ، ب) => {
وحدة التحكم.سجل(التحليل اللغوي(أ) + التحليل اللغوي(ب))؛
});

برنامج.parse();

المثال أعلاه هو أداة CLI لأداء وظائف حسابية بسيطة. نفذت كتلة التعليمات البرمجية أعلاه وظيفة "add" لأداة CLI باستخدام طرق من Command.js.

يمكنك استخدام أداة CLI أعلاه عن طريق تشغيل هذا الأمر في جهازك الطرفي:

يضيف فهرس العقدة 2 2

يمكنك أيضًا عرض التعليمات التي تم إنشاؤها تلقائيًا لأداة CLI عن طريق تشغيل هذا الأمر:

العقدة cli -h

باستخدام حزمة Commander.js ، يمكنك إنشاء أدوات CLI مميزة وعملية بالكامل مع توثيق خارج الصندوق باستخدام أوامر بسيطة.

Inquirer.js هي حزمة Node.js لبناء واجهات مستخدم سطر أوامر تفاعلية. يوفر مجموعة من مكونات واجهة المستخدم ، مثل المطالبات والقوائم ومربعات الاختيار ، مما يجعل من السهل إنشاء أدوات CLI يمكنها التفاعل مع المستخدم.

لتثبيت Inquirer باعتباره تابعًا ، قم بتشغيل هذا الأمر:

npm ثَبَّتَ المستعلم

فيما يلي مثال على كيفية استخدام Inquirer.js:

// index.js
يستورد المستعلم من"المستفسر";

المستعلم
.اِسْتَدْعَى([
{
يكتب: "مدخل",
اسم: "اسم",
رسالة: "ما اسمك؟",
},
])
.ثم((الإجابات) => {
وحدة التحكم.سجل(مرحبا $ {Answers.name}`);
});

يستخدم هذا المثال Inquirer.js لأخذ مدخلات المستخدم من الجهاز الطرفي وتسجيل رسالة تقول مرحباً للمستخدم.

لا يدعم Inquirer.js CommonJS نظام الوحدة. يجب عليك استخدام نظام الوحدة النمطية ES6 أو الرجوع إلى إصدار أقدم من الحزمة إلى الإصدار 8.0.0.

يوفر Inquirer.js العديد من خيارات التخصيص للمطالبات ، بما في ذلك الاختيارات والتحقق من الصحة والقيم الافتراضية ، مما يجعله مثاليًا لإنشاء أدوات CLI تفاعلية يمكنها التفاعل مع المستخدم.

Chalk عبارة عن حزمة Node.js توفر طريقة بسيطة لإضافة ألوان إلى الإخراج الطرفي ، مما يجعل إنشاء أدوات CLI جذابة وقابلة للقراءة أمرًا سهلاً.

يوفر قدرًا كبيرًا من المرونة في تحديد الألوان والأنماط للنص. ومع ذلك ، لا يمكنك استخدام Chalk بمعزل لإنشاء أدوات CLI ؛ يجب عليك استخدامه مع حزم مثل Commander و Inquirer.js.

لتثبيت Chalk كعنصر تابع ، قم بتشغيل هذا الأمر:

npm ثَبَّتَ الطباشير

فيما يلي مثال على كيفية استخدام Chalk لإضافة ألوان إلى إخراج وحدة التحكم:

يستورد الطباشير من"طباشير";

وحدة التحكم.log (chalk.blue ("مرحبا بالعالم!"));
وحدة التحكم.سجل(الطباشير.أحمر.عريض("تحذير"));
وحدة التحكم.سجل(الطباشير.أبيض.italic("نجاح"));

وحدة التحكم.سجل(
الطباشير.أصفر.bgBlue("هذانصلديهأأصفرالمقدمةوأزرقخلفية")
);

يوفر Chalk العديد من الطرق الأخرى لتحديد الألوان والأنماط ، بما في ذلك تسطير, يتوسطه خط، صبغات مختلفة من ألوان الخلفية ، وغير ذلك الكثير.

لا يدعم Chalk نظام الوحدة النمطية CommonJS. يجب عليك استخدام نظام الوحدة النمطية ES6 أو الرجوع إلى إصدار أقدم من الحزمة إلى الإصدار 4.0.0.

تعد Chalk حزمة رائعة لجعل أدوات CLI أكثر جاذبية من الناحية المرئية وقابلة للقراءة. بالإضافة إلى ذلك ، يمكنك دمجها بسهولة في التعليمات البرمجية الحالية الخاصة بك دون تكوين معقد.

Node Spinner هي حزمة Node.js توفر طريقة بسيطة لعرض الرسوم المتحركة المتحركة في أدوات CLI الخاصة بك. يمكنك استخدام هذه الحزمة للإشارة إلى أن هناك عملية طويلة الأمد قيد التقدم وإعطاء إشارة مرئية للمستخدم إلى أن الأداة لا تزال تعمل.

لتثبيت Node Spinner كتبعية ، قم بتشغيل هذا الأمر:

npm ثَبَّتَ cli-spinner

فيما يلي مثال على كيفية استخدام Node Spinner لعرض الرسوم المتحركة الدوار:

مقدار ثابت سبينر = يتطلب("cli-spinner").

مقدار ثابت الدوار = جديد سبينر ("يعالج... ٪س");
spinner.setSpinnerString ("|/-\\\\");
الدوار.يبدأ();

setTimeout (() => {
spinner.text = "تمت المهمة.";

setTimeout (() => {
الدوار.قف();
}, 500);
}, 5000);

يستخدم هذا الرمز المكتبة لعرض القرص الدوار حتى تنتهي العملية. يسخر الكود من عملية تستمر لمدة 5 ثوانٍ باستخدام setTimeout. في نهاية الوقت ، يغير نص العرض من "معالجة ..." إلى "اكتملت المهمة". ويوقف الدوار بعد 0.5 ثانية.

يوفر Node Spinner نطاقًا من خيارات التخصيص ، مثل تغيير أنماط ونص الجزء العلوي. كما أنه يدعم العديد من الأقراص الدوارة ، مما يتيح لك عرض رسوم متحركة مختلفة لأجزاء مختلفة من أداة CLI الخاصة بك.

Figlet عبارة عن حزمة Node.js توفر طريقة بسيطة لملفات إنشاء فن ASCII من النص.

لتثبيت figlet كتبعية ، قم بتشغيل هذا الأمر:

npm ثَبَّتَ تين

فيما يلي مثال على كيفية استخدام figlet لإنشاء فن ASCII:

مقدار ثابت الشكل الصغير = يتطلب("صغير");

فيجليت ("مرحبا بالعالم!!"، (يخطئ ، البيانات) => {
إذا (يخطئ) {
وحدة التحكم.سجل("عذرا، هناك خطأ ما");
وحدة التحكم.dir (يخطئ) ؛
يعود;
}

وحدة التحكم.تسجيل البيانات)؛
});

المثال أعلاه ينشئ فن ASCII بالسلسلة "Hello World !!" باستخدام Figlet وتسجيله في وحدة التحكم.

يجب أن ينتج عن تشغيل هذا المثال المخرجات التالية:

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

على سبيل المثال:

فيجليت ("مرحبا بالعالم!!"، {الخط: "جرس" } ، (يخطئ ، البيانات) => {})

يضيف استخدام Figlet في أداة CLI اهتمامًا بصريًا لأدواتك ويجعلها أكثر جذبًا للمستخدمين.

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

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