इस सामान्य-उद्देश्य वाले मॉड्यूल में कई उपयोगी उपयोगिता कार्य शामिल हैं जो आपको अतिरिक्त कोड लिखने के प्रयास से बचा सकते हैं।
उपयोग मॉड्यूल उपयोगिताओं का एक सेट प्रदान करता है जिसका उपयोग आप Node.js अनुप्रयोगों में डेटा को डिबग, निरीक्षण और प्रारूपित करने के लिए कर सकते हैं।
उपयोग मॉड्यूल के विभिन्न कार्यों में तल्लीन करें और इन उपकरणों का लाभ उठाने में आपकी मदद करने के लिए कुछ उदाहरण तलाशें।
अधिक सुविधा के साथ लॉगिंग
लॉगिंग महत्वपूर्ण जानकारी या घटनाओं को रिकॉर्ड करने के लिए संदर्भित करता है, जैसे कि चर मान, त्रुटि संदेश और निष्पादन प्रवाह, जो एक सॉफ़्टवेयर एप्लिकेशन के भीतर होता है। लॉगिंग डिबगिंग, मॉनिटरिंग और ऑडिटिंग सहित कई उद्देश्यों को पूरा करता है।
Node.js उपयोग मॉड्यूल का उपयोग करके एक सुविधाजनक लॉगिंग तंत्र प्रदान करता है util.debuglog तरीका। यह आपको नामस्थान के साथ डीबग लॉगिंग फ़ंक्शन बनाने की अनुमति देता है, और आप सेटिंग करके उन्हें सक्षम या अक्षम कर सकते हैं NODE_DEBUG पर्यावरणपरिवर्ती तारक। यहाँ एक उदाहरण है:
// index.js
कॉन्स्ट उपयोग = ज़रूरत होना("उपयोग");कॉन्स्ट डिबग = util.debuglog ("myapp"); // डिबग लकड़हारे को इनिशियलाइज़ करें
डिबग ("यह एक डीबग संदेश है"); // MYAPP 39668: यह एक डिबग संदेश है
यह उदाहरण दिखाता है कि आप "myapp" नामस्थान में एक साधारण डिबग लॉगर कैसे सेट कर सकते हैं, और एक संदेश और उसकी प्रक्रिया आईडी को कंसोल पर लॉग कर सकते हैं।
डीबग लॉग सक्षम करने के लिए, सेट करें NODE_DEBUG जब आप स्क्रिप्ट चलाते हैं तो नामस्थान में पर्यावरण चर:
NODE_DEBUG=myapp नोड index.js
यदि आप एकाधिक डिबगिंग नामस्थानों को सक्षम करना चाहते हैं, तो नामस्थानों को अलग करने के लिए अल्पविराम जोड़ें:
NODE_DEBUG = myapp, myapp2, myapp3 नोड index.js
यदि आप में नामस्थान शामिल नहीं करते हैं NODE_DEBUG पर्यावरण चर, डीबगलॉग पर कॉल उस नामस्थान को अनदेखा कर देगा।
util.debuglog विधि उपयोगी कार्यक्षमता प्रदान करती है, लेकिन यदि आपके ऐप को अधिक जटिल लॉगिंग की आवश्यकता है, तो आप अन्य मजबूत में से एक का उपयोग कर सकते हैं Node.js पारिस्थितिकी तंत्र में लॉगिंग पैकेज.
लचीलेपन के लिए वादा करने वाले कार्य
जावास्क्रिप्ट में वादे अतुल्यकालिक कोड को अधिक संरचित और प्रबंधनीय तरीके से संभालने का एक तरीका प्रदान करते हैं आपको चेन ऑपरेशंस की अनुमति देकर, त्रुटियों और सफलता की घटनाओं को अलग-अलग संभालने और कॉलबैक से बचने की अनुमति देकर नरक।
हालाँकि, सभी इनबिल्ट फ़ंक्शंस वादों का समर्थन नहीं करते हैं। हालाँकि, आप उन कार्यों को "वादा" कर सकते हैं जो पारंपरिक कॉलबैक का उपयोग करते हैं ताकि उन्हें उपयोग मॉड्यूल के साथ वादों का समर्थन करने में सक्षम बनाया जा सके util.promisify तरीका।
यह विधि एक फ़ंक्शन लेती है जो पारंपरिक कॉलबैक सिस्टम का उपयोग करती है और वादों का उपयोग करने वाले फ़ंक्शन को वापस करती है।
उदाहरण के लिए:
कॉन्स्ट उपयोग = ज़रूरत होना("उपयोग");
// कॉलबैक संस्करण
समारोहcallbackFunction(arg1, arg2, कॉलबैक) {
// अतुल्यकालिक ऑपरेशन
// कॉलबैक को त्रुटि (यदि कोई हो) और परिणाम के साथ आमंत्रित करें
}// कॉलबैक फ़ंक्शन का वादा करें
कॉन्स्ट callbackFunctionPromise = util.promisify (कॉलबैकफ़ंक्शन);
// वादा किया गया संस्करण
कॉलबैक फ़ंक्शन प्रॉमिस (arg1, arg2)
।तब((परिणाम) => {
// प्रक्रिया परिणाम
})
।पकड़ना((गलती) => {
// हैंडल एरर
});
उपरोक्त उदाहरण में, util.promisify विधि ने फ़ंक्शन के कॉलबैक संस्करण को वादों का उपयोग करने वाले संस्करण में परिवर्तित कर दिया।
यह रूपांतरण आपको श्रृंखला का उपयोग करने में सक्षम बनाता है तब और पकड़ना ब्लॉक, उपयोग पकड़ने की कोशिश, और अपने एसिंक्रोनस कोड को बेहतर ढंग से प्रबंधित करें।
एक परिचित विधि के साथ स्वरूपण स्ट्रिंग्स
नोड.जे.एस उपयोग मॉड्यूल नामक एक स्वरूपण फ़ंक्शन प्रदान करता है उपयोग.प्रारूप जो आपको स्वरूपित तार बनाने की अनुमति देता है। यह तरीका इसी तरह काम करता है printf बैश में कार्य करें और अन्य प्रोग्रामिंग भाषाएँ जैसे C और C++।
उपयोग.प्रारूप () विधि एक प्रारूप स्ट्रिंग लेती है जिसमें शून्य या अधिक प्रारूप विनिर्देशक हो सकते हैं, जैसे %एस (स्ट्रिंग्स), %डी (संख्या), एक तर्क के रूप में। यह मानों की मनमानी संख्या भी लेता है जो उनके संबंधित विनिर्देशकों को प्रतिस्थापित करेगा।
उदाहरण के लिए:
कॉन्स्ट उपयोग = ज़रूरत होना("उपयोग");
कॉन्स्ट नाम = "बोनी";
कॉन्स्ट उम्र = 30;कॉन्स्ट स्वरूपित स्ट्रिंग = उपयोग। प्रारूप (
"मेरा नाम %s है, और मेरी उम्र %d वर्ष है।",
नाम,
आयु
);
सांत्वना देनालॉग (स्वरूपित स्ट्रिंग); // मेरा नाम बोनी है, और मेरी उम्र 30 साल है।
यह उदाहरण दो प्लेसहोल्डर्स के साथ एक प्रारूप स्ट्रिंग का उपयोग करता है: %एस और %डी. %एस प्लेसहोल्डर स्ट्रिंग प्रतिस्थापन के लिए है, जबकि %डी संख्यात्मक प्रतिस्थापन के लिए है। util.format के लिए कॉल इसी मान को पास करता है—नाम और आयु- प्रत्येक प्लेसहोल्डर के लिए।
यदि किसी विनिर्देशक के पास संगत तर्क नहीं है, तो उपयोग.प्रारूप विधि इसे प्रतिस्थापित नहीं करेगी, और इसे बदले बिना स्ट्रिंग वापस कर देगी:
कॉन्स्ट उपयोग = ज़रूरत होना("उपयोग");
कॉन्स्ट स्वरूपित स्ट्रिंग = उपयोग। प्रारूप ("मेरा नाम %s है");
सांत्वना देनालॉग (स्वरूपित स्ट्रिंग); // मेरा नाम %s है
यह उदाहरण केवल एक तर्क के साथ प्रारूप को कॉल करता है, इसलिए विधि मूल स्ट्रिंग लौटाती है।
यूटिल मॉड्यूल के बहुत अधिक उपयोग हैं
इन उपयोगों के अलावा, Node.js उपयोग मॉड्यूल अन्य उपयोगिता कार्यों की पेशकश करता है। उदाहरणों में वस्तुओं और मूल्यों का निरीक्षण करना और पुराने उपकरणों को हटाना शामिल है।
उपयोग मॉड्यूल द्वारा प्रदान की गई कार्यक्षमता का लाभ उठाकर, आप अपने कोड और अपने समग्र वर्कफ़्लो की पठनीयता और रखरखाव में सुधार कर सकते हैं।