Chalk क्या है और इसकी आवश्यकता क्यों है?
Chalk Node.js की सबसे लोकप्रिय लाइब्रेरी में से एक है, जो टर्मिनल (कंसोल) में आउटपुट को स्टाइल करने के लिए उपयोग की जाती है। अगर आपने कभी console.log() लिखा है और चाहा है कि टेक्स्ट रंगीन, बोल्ड, अंडरलाइन या ब्लिंकिंग हो - तो Chalk इस काम को आसान और सुंदर तरीके से करता है।
इसकी आवश्यकता क्यों है? रियल प्रोजेक्ट्स में रंगीन आउटपुट मदद करता है:
- लॉग्स को विज़ुअली अलग करना (एरर को लाल, चेतावनी को पीला, सफलता को हरा)।
- CLI टूल्स और स्क्रिप्ट्स का UX सुधारना।
- महत्वपूर्ण संदेशों पर ध्यान आकर्षित करना।
- लंबे लॉग्स को अधिक पढ़ने योग्य बनाना।
Chalk बिना किसी डिपेंडेंसी के काम करता है, तेज़ है, और चेनिंग (chaining) को सपोर्ट करता है। यह अपने आप पहचान लेता है कि टर्मिनल रंगों को सपोर्ट करता है या नहीं, और ज़रूरत पड़ने पर स्टाइलिंग बंद कर देता है (जैसे आउटपुट को फ़ाइल में रीडायरेक्ट करने पर)।
इंस्टॉलेशन
Chalk npm के ज़रिए उपलब्ध है। इसे अपने प्रोजेक्ट में इंस्टॉल करें:
npm install chalk
अगर आप yarn का उपयोग कर रहे हैं:
yarn add chalk
इंस्टॉल करने के बाद, इसे अपनी स्क्रिप्ट में इम्पोर्ट करें:
const chalk = require('chalk');
ES-मॉड्यूल (package.json में type: "module") वाले प्रोजेक्ट्स के लिए इम्पोर्ट इस तरह होगा:
import chalk from 'chalk';
महत्वपूर्ण: Chalk संस्करण 5.0 से, लाइब्रेरी केवल ESM-only (केवल ES-मॉड्यूल) हो गई है। अगर आप CommonJS (require) का उपयोग कर रहे हैं, तो संस्करण 4.x इंस्टॉल करें:
npm install chalk@4.1.2
त्वरित शुरुआत
पहला उदाहरण आज़माएँ। एक फ़ाइल example.js बनाएँ और इसमें लिखें:
const chalk = require('chalk');
console.log(chalk.blue('Hello, world!'));
console.log(chalk.red.bold('एरर!'));
console.log(chalk.green.underline('सफलता'));
console.log(chalk.yellow.bgBlue('नीले बैकग्राउंड पर पीला टेक्स्ट'));
रन करें:
node example.js
आपको रंगीन आउटपुट दिखेगा। अगर रंग नहीं दिख रहे हैं, तो जाँचें कि आपका टर्मिनल ANSI रंगों को सपोर्ट करता है या नहीं (आधुनिक टर्मिनल सपोर्ट करते हैं)।
मुख्य तरीके और फंक्शन
Chalk दो प्रकार के API प्रदान करता है: मॉडिफायर तरीके (टेक्स्ट स्टाइल) और रंग तरीके (टेक्स्ट और बैकग्राउंड का रंग)। इन सभी को चेनिंग के ज़रिए जोड़ा जा सकता है।
1. chalk.red() — लाल टेक्स्ट रंग
यह क्या करता है: टेक्स्ट को लाल रंग में रंगता है। आमतौर पर एरर मैसेज के लिए उपयोग होता है।
पैरामीटर: एक स्ट्रिंग या कई स्ट्रिंग्स (कॉमा से अलग, उन्हें जोड़ देगा)।
console.log(chalk.red('एरर: फ़ाइल नहीं मिली'));
console.log(chalk.red('गंभीर', 'एरर', 'सिस्टम')); // स्पेस से जोड़ेगा
2. chalk.green() — हरा टेक्स्ट रंग
यह क्या करता है: टेक्स्ट को हरे रंग में रंगता है। सफलता के संदेशों के लिए उपयोग होता है।
पैरामीटर: red के समान।
console.log(chalk.green('ऑपरेशन सफलतापूर्वक पूरा हुआ'));
console.log(chalk.green('✓', 'हो गया'));
3. chalk.blue() — नीला टेक्स्ट रंग
यह क्या करता है: टेक्स्ट को नीले रंग में रंगता है। सूचनात्मक संदेशों के लिए उपयोग होता है।
पैरामीटर: एक स्ट्रिंग या कई स्ट्रिंग्स।
console.log(chalk.blue('जानकारी: संस्करण 2.0.1'));
4. chalk.yellow() — पीला टेक्स्ट रंग
यह क्या करता है: टेक्स्ट को पीले रंग में रंगता है। परंपरागत रूप से चेतावनियों के लिए उपयोग होता है।
पैरामीटर: एक स्ट्रिंग या कई स्ट्रिंग्स।
console.log(chalk.yellow('चेतावनी: बैटरी कम है'));