आधुनिक सीएलआई कार्यक्रम बनाने के लिए इन पुस्तकालयों और उपयोगिताओं का उपयोग करें, जिनकी आपको आवश्यकता है।

कमांड-लाइन इंटरफ़ेस (CLI) टेक्स्ट-आधारित कमांड का उपयोग करके कंप्यूटर प्रोग्राम या ऑपरेटिंग सिस्टम के साथ इंटरैक्ट करने का एक तरीका है। सीएलआई टूल एक यूटिलिटी प्रोग्राम है जिसे आप कमांड लाइन से चला सकते हैं। सीएलआई उपकरण आमतौर पर उपयोगकर्ता से टेक्स्ट-आधारित कमांड लेते हैं और कमांड के आधार पर विशिष्ट कार्य करते हैं।

उच्च-गुणवत्ता वाले सीएलआई उपकरण को कार्यक्षमता की एक विस्तृत श्रृंखला का समर्थन करना चाहिए। वे कमांड-लाइन तर्कों को पार्स कर सकते हैं और अन्य सुविधाओं के साथ दृश्य प्रतिक्रिया प्रदान करने के लिए उपयोग सहायता उत्पन्न कर सकते हैं।

कई Node.js पैकेज हैं जो कार्यक्षमता और लचीलेपन की एक विस्तृत श्रृंखला की पेशकश करते हुए, जल्दी से CLI टूल बनाने में आपकी मदद कर सकते हैं। यहां, आप CLI टूल बनाने के लिए कुछ शीर्ष Node.js पैकेजों का पता लगाएंगे और उनकी प्रमुख विशेषताओं की खोज करेंगे।

कमांड-लाइन इंटरफेस बनाने के लिए कमांडर एक Node.js पैकेज है। यह कमांड, विकल्प और तर्कों को परिभाषित करने के लिए एक एपीआई प्रदान करता है, जिससे सीएलआई उपकरण बनाना आसान हो जाता है।

कमांडर विकल्पों और कमांड लाइन तर्कों में तर्कों को पार्स करने का ख्याल रखता है। इसके अतिरिक्त, यह समस्याओं और अपरिचित विकल्पों के लिए त्रुटियों को प्रदर्शित करता है और स्वचालित रूप से उपयोग सहायता (सीएलआई दस्तावेज) उत्पन्न करता है।

कमांडर को निर्भरता के रूप में स्थापित करने के लिए, यह कमांड चलाएँ:

NPM स्थापित करना कमांडर

यहां एक नोड.जेएस ऐप में कमांडर का उपयोग करने का एक उदाहरण दिया गया है:

// index.js
कॉन्स्ट {कमांड} = ज़रूरत होना("कमांडर");

// एक कमांड उदाहरण बनाना
कॉन्स्ट कार्यक्रम = नया आज्ञा();

// टूल बनाना
कार्यक्रम
।नाम("गणित-उपयोग")
।विवरण("सरल गणित कार्य करने के लिए एक सीएलआई उपकरण")
।संस्करण("1.0.0");

// कमांड जोड़ना
कार्यक्रम
.आज्ञा("जोड़ना")
।विवरण("दो नंबर जोड़ें")
।तर्क("", "पहला नंबर")
।तर्क("", "दूसरा नंबर")
।कार्य((ए, बी) => {
सांत्वना देना।लकड़ी का लट्ठा(parseInt(ए) + parseInt(बी));
});

कार्यक्रम.पार्स();

उपरोक्त उदाहरण सरल गणित कार्यों को करने के लिए एक सीएलआई उपकरण है। ऊपर दिए गए कोड ब्लॉक ने कमांडर.जेएस के तरीकों का उपयोग करके सीएलआई टूल के लिए "ऐड" कार्यक्षमता को लागू किया।

आप अपने टर्मिनल में इस कमांड को चलाकर उपरोक्त CLI टूल का उपयोग कर सकते हैं:

नोड इंडेक्स 2 2 जोड़ें

आप इस आदेश को चलाकर सीएलआई उपकरण के लिए स्वचालित रूप से जेनरेट की गई सहायता भी देख सकते हैं:

नोड क्लि-एच

कमांडर.जेएस पैकेज के साथ, आप सरल कमांड का उपयोग करके बॉक्स से बाहर दस्तावेज़ीकरण के साथ पूरी तरह से फीचर्ड और कार्यात्मक सीएलआई उपकरण बना सकते हैं।

Inquirer.js इंटरएक्टिव कमांड-लाइन यूजर इंटरफेस बनाने के लिए एक Node.js पैकेज है। यह यूआई घटकों का एक सेट प्रदान करता है, जैसे संकेत, सूचियाँ और चेकबॉक्स, जिससे सीएलआई उपकरण बनाना आसान हो जाता है जो उपयोगकर्ता के साथ बातचीत कर सकता है।

इन्क्वायरर को एक निर्भरता के रूप में स्थापित करने के लिए, यह कमांड चलाएँ:

NPM स्थापित करना इन्क्वायरर

यहाँ कैसे Inquirer.js का उपयोग करने का एक उदाहरण दिया गया है:

// index.js
आयात इन्क्वायरर से"पूछताछ करने वाला";

इन्क्वायरर
।तत्पर([
{
प्रकार: "इनपुट",
नाम: "नाम",
संदेश: "आपका क्या नाम है?",
},
])
।तब((जवाब) => {
सांत्वना देना।लकड़ी का लट्ठा(नमस्ते ${answer.name}`);
});

यह उदाहरण टर्मिनल से उपयोगकर्ता इनपुट लेने के लिए Inquirer.js का उपयोग करता है और उपयोगकर्ता को हैलो कहते हुए एक संदेश लॉग करता है।

इन्क्वायरर.जेएस कॉमनजेएस का समर्थन नहीं करता है मॉड्यूल सिस्टम. आपको ES6 मॉड्यूल सिस्टम का उपयोग करना चाहिए या पैकेज को संस्करण 8.0.0 में डाउनग्रेड करना चाहिए।

Inquirer.js संकेतों के लिए कई अनुकूलन विकल्प प्रदान करता है, जिसमें विकल्प, सत्यापन और डिफ़ॉल्ट मान शामिल हैं, जो इसे इंटरैक्टिव सीएलआई उपकरण बनाने के लिए आदर्श बनाता है जो उपयोगकर्ता के साथ बातचीत कर सकता है।

चाक एक Node.js पैकेज है जो टर्मिनल आउटपुट में रंग जोड़ने का एक सरल तरीका प्रदान करता है, जिससे पठनीय और आकर्षक सीएलआई उपकरण बनाना आसान हो जाता है।

यह पाठ के लिए रंगों और शैलियों को परिभाषित करने में काफी लचीलापन प्रदान करता है। हालाँकि, आप सीएलआई उपकरण बनाने के लिए चाक का उपयोग अलगाव में नहीं कर सकते हैं; आपको इसका उपयोग कमांडर और इन्क्वायरर.जेएस जैसे पैकेजों के साथ करना चाहिए।

चाक को एक निर्भरता के रूप में स्थापित करने के लिए, यह कमांड चलाएँ:

NPM स्थापित करना चाक

कंसोल आउटपुट में रंग जोड़ने के लिए चॉक का उपयोग करने का एक उदाहरण यहां दिया गया है:

आयात चाक से"चाक";

सांत्वना देना.लॉग (चॉक.ब्लू ("हैलो वर्ल्ड!"));
सांत्वना देना।लकड़ी का लट्ठा(चाक।लाल।निडर("चेतावनी"));
सांत्वना देना।लकड़ी का लट्ठा(चाक।सफ़ेद.इटैलिक("सफलता"));

सांत्वना देना।लकड़ी का लट्ठा(
चाक।पीला.bgनीला("यहमूलपाठहैपीलाअग्रभूमिऔरनीलापृष्ठभूमि")
);

चाक रंगों और शैलियों को परिभाषित करने के लिए कई अन्य तरीके प्रदान करता है, जिनमें शामिल हैं रेखांकन, स्ट्राइकथ्रू, पृष्ठभूमि के रंगों के विभिन्न रंग, और बहुत कुछ।

चाक कॉमनजेएस मॉड्यूल सिस्टम का समर्थन नहीं करता है। आपको ES6 मॉड्यूल सिस्टम का उपयोग करना चाहिए या पैकेज को संस्करण 4.0.0 में डाउनग्रेड करना चाहिए।

चाक आपके सीएलआई उपकरणों को अधिक आकर्षक और पठनीय बनाने के लिए एक बेहतरीन पैकेज है। इसके अतिरिक्त, आप जटिल कॉन्फ़िगरेशन के बिना इसे अपने मौजूदा कोड में आसानी से एकीकृत कर सकते हैं।

नोड स्पिनर एक नोड.जेएस पैकेज है जो आपके सीएलआई टूल्स में स्पिनर एनीमेशन प्रदर्शित करने का एक आसान तरीका प्रदान करता है। आप इस पैकेज का उपयोग यह इंगित करने के लिए कर सकते हैं कि एक लंबी चलने वाली प्रक्रिया चल रही है और उपयोगकर्ता को एक दृश्य संकेत दें कि उपकरण अभी भी काम कर रहा है।

नोड स्पिनर को एक निर्भरता के रूप में स्थापित करने के लिए, यह कमांड चलाएँ:

NPM स्थापित करना cli-स्पिनर

स्पिनर एनीमेशन प्रदर्शित करने के लिए नोड स्पिनर का उपयोग करने का एक उदाहरण यहां दिया गया है:

कॉन्स्ट स्पिनर = ज़रूरत होना("क्ली-स्पिनर".स्पिनर;

कॉन्स्ट स्पिनर = नया स्पिनर("प्रसंस्करण... %एस");
स्पिनर.सेटस्पिनरस्ट्रिंग ("|/-\\\\");
स्पिनर।शुरू();

सेटटाइमआउट(() => {
स्पिनर.टेक्स्ट = "कार्य पूरा हो गया।";

सेटटाइमआउट(() => {
स्पिनर।रुकना();
}, 500);
}, 5000);

प्रक्रिया समाप्त होने तक यह कोड स्पिनर प्रदर्शित करने के लिए लाइब्रेरी का उपयोग करता है। कोड एक ऑपरेशन का मज़ाक उड़ाता है जो 5 सेकंड तक चलता है सेटटाइमआउट. समय के अंत में, यह प्रदर्शन पाठ को "प्रसंस्करण ..." से "कार्य पूर्ण" में बदल देता है। और 0.5 सेकंड बाद स्पिनर को रोक देता है।

नोड स्पिनर कई प्रकार के अनुकूलन विकल्प प्रदान करता है, जैसे स्पिनर शैलियों और पाठ को बदलना। यह कई स्पिनरों का भी समर्थन करता है, जिससे आप अपने सीएलआई टूल के विभिन्न भागों के लिए अलग-अलग एनिमेशन प्रदर्शित कर सकते हैं।

Figlet एक Node.js पैकेज है जो एक सरल तरीका प्रदान करता है पाठ से ASCII कला बनाएँ.

फिगलेट को एक निर्भरता के रूप में स्थापित करने के लिए, यह कमांड चलाएँ:

NPM स्थापित करना अंजीर

एएससीआईआई कला उत्पन्न करने के लिए फिगलेट का उपयोग कैसे करें इसका एक उदाहरण यहां दिया गया है:

कॉन्स्ट अंजीर = ज़रूरत होना("फिगलेट");

अंजीर"हैलो वर्ल्ड!!", (त्रुटि, डेटा) => {
अगर (गलती) {
सांत्वना देना।लकड़ी का लट्ठा("क्षमा करें, कुछ गलत हो गया");
सांत्वना देना.dir (err);
वापस करना;
}

सांत्वना देनालॉग (डेटा);
});

उपरोक्त उदाहरण स्ट्रिंग "हैलो वर्ल्ड !!" के साथ ASCII कला बनाता है। फिगलेट का उपयोग करके और इसे कंसोल में लॉग करता है।

इस उदाहरण को चलाने से निम्न आउटपुट उत्पन्न होना चाहिए:

Figlet कई फ़ॉन्ट शैलियाँ प्रदान करता है जिनका उपयोग आप अपनी ASCII कला के रूप को अनुकूलित करने के लिए कर सकते हैं। आप विकल्प ऑब्जेक्ट को पास करके फ़ॉन्ट शैली निर्दिष्ट कर सकते हैं अंजीर समारोह।

उदाहरण के लिए:

अंजीर"हैलो वर्ल्ड!!", { फ़ॉन्ट: "घंटी" }, (त्रुटि, डेटा) => {})

अपने सीएलआई टूल में फिगलेट का उपयोग करने से आपके टूल में दृश्य रुचि जुड़ जाती है और वे आपके उपयोगकर्ताओं के लिए अधिक आकर्षक बन जाते हैं।

अपने सीएलआई उपकरण के लिए पैकेज चुनते समय, आपको अपनी आवश्यकताओं पर विचार करना चाहिए और उन पैकेजों का चयन करना चाहिए जो कार्यक्षमता, स्टाइल और अनुकूलता प्रदान करते हैं जो उन्हें पूरा करते हैं।

Node.js पारिस्थितिकी तंत्र विभिन्न पैकेज प्रदान करता है जो कमांड लाइन तर्कों को पार्स कर सकता है, एक कमांड लाइन UI बना सकता है, शैलीबद्ध पाठ प्रदर्शित कर सकता है, और बहुत कुछ। सही मिश्रण का लाभ उठाने से आप सीएलआई उपकरण बनाने में सक्षम होंगे जो अत्यधिक कार्यात्मक और उपयोगकर्ता के अनुकूल दोनों हैं।