JavaScript (Node.js) के लिए CLI फ्रेमवर्क: Commander.js – कंसोल एप्लिकेशन बनाना

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Commander.js: Node.js पर शक्तिशाली कंसोल एप्लिकेशन बनाना



आधुनिक वेब डेवलपमेंट और ऑटोमेशन की दुनिया में, कंसोल एप्लिकेशन (CLI) एक महत्वपूर्ण भूमिका निभाते हैं। वे आपको ग्राफिकल इंटरफ़ेस के उपयोग के बिना नियमित कार्यों को स्वचालित करने, प्रोजेक्ट प्रबंधित करने, कोड डिप्लॉय करने और API के साथ इंटरैक्ट करने की अनुमति देते हैं। यदि आप JavaScript (Node.js) में लिख रहे हैं, तो सुरुचिपूर्ण और कार्यात्मक CLI टूल बनाने के लिए सबसे अच्छा विकल्प Commander.js फ्रेमवर्क है।



Commander.js एक हल्की लेकिन अविश्वसनीय रूप से शक्तिशाली लाइब्रेरी है, जो कमांड लाइन आर्गुमेंट्स को पार्स करने, हेल्प जनरेट करने और एरर हैंडलिंग का सारा काम अपने हाथ में ले लेती है। इसकी मदद से, आप एक साधारण स्क्रिप्ट को सबकमांड, ऑप्शन और ऑटोमैटिक वैलिडेशन के साथ एक पेशेवर कंसोल एप्लिकेशन में बदल सकते हैं। इस लेख में, हम शैक्षिक वेबसाइट pythonlib.ru पर अपनी खुद की CLI उपयोगिताएँ बनाने के लिए Commander.js का उपयोग करने के तरीके पर विस्तार से चर्चा करेंगे।



इंस्टॉलेशन और बुनियादी उपयोग



शुरू करने से पहले, सुनिश्चित करें कि आपके पास Node.js (संस्करण 12 और उससे ऊपर) स्थापित है। Commander.js की स्थापना npm के माध्यम से की जाती है:



npm install commander


स्थापना के बाद, एक फ़ाइल cli.js बनाएँ और लाइब्रेरी को शामिल करें। आइए एक सरल उदाहरण देखें — एक एप्लिकेशन जो "Hello, World!" प्रिंट करता है और उपयोगकर्ता का नाम लेता है।



#!/usr/bin/env nodeconst { Command } = require('commander');const program = new Command();

program .name('greet') .description('अभिवादन प्रदर्शित करता है') .version('1.0.0');

program .command('hello') .description('उपयोगकर्ता का स्वागत करता है') .argument('<name>', 'उपयोगकर्ता का नाम') .action((name) => { console.log(`नमस्ते, ${name}! Commander.js में आपका स्वागत है।`); });

program.parse(process.argv);


अब स्क्रिप्ट चलाएँ:



node cli.js hello इवान


आप देखेंगे: नमस्ते, इवान! Commander.js में आपका स्वागत है।



Commander.js की मुख्य विशेषताएँ



Commander.js पेशेवर CLI एप्लिकेशन बनाने के लिए सुविधाओं का एक समृद्ध सेट प्रदान करता है। आइए उन पर विस्तार से नज़र डालें।



1. कमांड और सबकमांड

आप असीमित संख्या में कमांड (जैसे, init, build, deploy) बना सकते हैं और उन्हें एक-दूसरे में नेस्ट कर सकते हैं। यह विशेष रूप से जटिल टूल, जैसे पैकेज मैनेजर या प्रोजेक्ट बिल्डर के लिए उपयोगी है।



program  .command('init')  .description('एक नया प्रोजेक्ट आरंभ करता है')  .option('-t, --template <type>', 'प्रोजेक्ट टेम्पलेट (basic, advanced)')  .action((options) => {    console.log(`टेम्पलेट के साथ प्रोजेक्ट बनाया जा रहा है: ${options.template || 'basic'}`);  });


2. ऑप्शन (फ़्लैग)

ऑप्शन उपयोगकर्ता को अतिरिक्त पैरामीटर पास करने की अनुमति देते हैं। Commander.js शॉर्ट (-v) और लॉन्ग (--verbose) फ़्लैग के साथ-साथ अनिवार्य और वैकल्पिक मानों का समर्थन करता है।



program  .option('-d, --debug', 'डीबग मोड सक्षम करें')  .option('-p, --port <number>', 'सर्वर पोर्ट', '3000') // डिफ़ॉल्ट मान  .parse(process.argv);

if (program.opts().debug) { console.log('डीबग सक्षम है');}


3. कमांड आर्गुमेंट्स

आर्गुमेंट्स पोज़ीशनल पैरामीटर हैं जो उपयोगकर्ता कमांड के बाद पास करता है। वे अनिवार्य (<name>) या वैकल्पिक ([name]) हो सकते हैं।



program  .command('copy <source> [destination]')  .description('फ़ाइल को source से destination में कॉपी करता है')  .action((source, destination) => {    console.log(`${source} से ${destination || 'वर्तमान फ़ोल्डर'} में कॉपी किया जा रहा है`);  });


4. स्वचालित सहायता और संस्करण नियंत्रण

Commander.js स्वचालित रूप से --help फ़्लैग का उपयोग करने पर सहायता उत्पन्न करता है या

अनुशंसाएँ