आप ऐसी स्क्रिप्ट्स लिखते हैं जो process.argv से आर्गुमेंट प्राप्त करती हैं, एन्वायरनमेंट वेरिएबल पढ़ती हैं, और एक एग्ज़िट कोड लौटाती हैं।
इस पाठ को Kodokon में खोलेंआप पहले से ही कमांड-लाइन प्रोग्राम उपयोग करते हैं: node, npm, git, वगैरह। हर एक आर्गुमेंट स्वीकार करता है, उसके नाम के बाद टाइप किए गए शब्द, जो उसके व्यवहार को बदल देते हैं। आइए अपना खुद का लिखें। Node ग्लोबल ऑब्जेक्ट process प्रकट करता है, जो वर्तमान में चल रहे प्रोग्राम का वर्णन करता है - आप इससे process.version के साथ मिल चुके हैं। इसकी प्रॉपर्टी process.argv एक ऐरे है जिसमें होता है: इंडेक्स 0 पर, Node का पथ; इंडेक्स 1 पर, आपकी स्क्रिप्ट का पथ; और इंडेक्स 2 से शुरू होकर, उपयोगकर्ता द्वारा वास्तव में टाइप किए गए आर्गुमेंट।
console.log(process.argv);
const args = process.argv.slice(2);
console.log("Your arguments:", args);जानकारी का दूसरा स्रोत: एन्वायरनमेंट वेरिएबल। ये नाम/वैल्यू जोड़े होते हैं जो सिस्टम प्रोग्राम को लॉन्च के समय प्रदान करता है। इनका उपयोग कॉन्फ़िगरेशन के लिए होता है: एक गुप्त API कुंजी, डिबग मोड, एक डेटाबेस पता, वगैरह। आप इन्हें process.env ऑब्जेक्ट में पढ़ते हैं। एक गायब वेरिएबल undefined होता है: हमेशा एक डिफ़ॉल्ट वैल्यू की योजना बनाएँ, उदाहरण के लिए ?? ऑपरेटर के साथ।
const level = process.env.LOG_LEVEL ?? "info";
console.log("Log level:", level);LOG_LEVEL=debug node config.jsजब कोई प्रोग्राम समाप्त होता है, तो वह सिस्टम को एक एग्ज़िट कोड लौटाता है: एक संख्या जो सारांशित करती है कि चीज़ें कैसी रहीं। सार्वभौमिक परंपरा: 0 का अर्थ है "सफलता", कोई भी अन्य वैल्यू एक त्रुटि का संकेत देती है - यही वह चीज़ है जिसे अन्य टूल और स्क्रिप्ट यह जानने के लिए जाँचते हैं कि सब कुछ काम किया या नहीं। process.exit(1) तुरंत स्क्रिप्ट को कोड 1 के साथ रोक देता है। त्रुटि संदेशों के लिए console.error का भी उपयोग करें: यह त्रुटि आउटपुट (stderr) में लिखता है, सामान्य आउटपुट से अलग एक चैनल। आइए इसे एक संपूर्ण स्क्रिप्ट में एक साथ रखें।
const name = process.argv[2];
if (!name) {
console.error("Usage: node greet.js <name>");
process.exit(1);
}
console.log(`Hello, ${name}!`);