"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Node.js अनुप्रयोगों को डिबग करना: युक्तियाँ और युक्तियाँ

Node.js अनुप्रयोगों को डिबग करना: युक्तियाँ और युक्तियाँ

2024-07-30 को प्रकाशित
ब्राउज़ करें:417

Debugging Node.js Applications: Tips and Tricks

एक Node.js डेवलपर के रूप में, आपको संभवतः अपने एप्लिकेशन में मायावी बग्स को ट्रैक करने में निराशा का सामना करना पड़ा होगा। डिबगिंग एक आवश्यक कौशल है जो आपको घंटों की मशक्कत से बचा सकता है और आपको अधिक मजबूत कोड लिखने में मदद कर सकता है। इस पोस्ट में, हम Node.js अनुप्रयोगों को डीबग करने के लिए कुछ शक्तिशाली तकनीकों और उपकरणों का पता लगाएंगे।

1. कंसोल.लॉग(): क्लासिक दृष्टिकोण

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

function calculateTotal(items) {
  console.log('Items received:', items);
  let total = 0;
  for (let item of items) {
    console.log('Processing item:', item);
    total  = item.price;
  }
  console.log('Total calculated:', total);
  return total;
}

प्रो टिप: सरणियों और वस्तुओं के अधिक संरचित दृश्य के लिए कंसोल.टेबल() का उपयोग करें:

console.table(items);

2. Node.js डिबगर: अंतर्निहित समाधान

Node.js एक अंतर्निर्मित डिबगर के साथ आता है जिसका उपयोग आप निरीक्षण ध्वज के साथ अपनी स्क्रिप्ट चलाकर कर सकते हैं:

node inspect app.js

फिर आप अपने कोड के माध्यम से नेविगेट करने के लिए कंट, नेक्स्ट, स्टेप और वॉच जैसे कमांड का उपयोग कर सकते हैं। शक्तिशाली होते हुए भी, जटिल अनुप्रयोगों के लिए यह विधि थोड़ी बोझिल हो सकती है।

3. विज़ुअल स्टूडियो कोड: डेवलपर का मित्र

VS कोड Node.js के लिए उत्कृष्ट डिबगिंग क्षमताएं प्रदान करता है। इसे कैसे सेट करें यहां बताया गया है:

  1. अपने प्रोजेक्ट में एक .vscode/launch.json फ़ाइल बनाएं।
  2. निम्न कॉन्फ़िगरेशन जोड़ें:
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Debug Node.js Program",
      "program": "${workspaceFolder}/app.js"
    }
  ]
}

अब आप अपने कोड में ब्रेकप्वाइंट सेट कर सकते हैं और F5 के साथ डिबगिंग शुरू कर सकते हैं।

4. क्रोम डेवटूल्स: ब्राउज़र की शक्ति

आप Node.js अनुप्रयोगों को डीबग करने के लिए Chrome DevTools का उपयोग कर सकते हैं:

  1. अपना ऐप --निरीक्षण ध्वज के साथ चलाएं:
   node --inspect app.js
  1. क्रोम खोलें और chrome://inspect पर नेविगेट करें।
  2. "नोड के लिए समर्पित DevTools खोलें" पर क्लिक करें।

यह विधि आपको क्रोम के डिबगिंग टूल की पूरी शक्ति तक पहुंच प्रदान करती है।

5. डिबग मॉड्यूल: सेलेक्टिव लॉगर

डिबग मॉड्यूल आपको अपने एप्लिकेशन में चयनात्मक डिबगिंग आउटपुट जोड़ने की अनुमति देता है:

const debug = require('debug')('myapp:server');

debug('Server starting on port 3000');

इन लॉग को सक्षम करने के लिए, DEBUG पर्यावरण चर सेट करें:

DEBUG=myapp:server node app.js

6. त्रुटि प्रबंधन: मौन विफलताओं को रोकें

उचित त्रुटि प्रबंधन से आपका काफी डिबगिंग समय बच सकता है:

process.on('unhandledRejection', (reason, promise) => {
  console.log('Unhandled Rejection at:', promise, 'reason:', reason);
  // Application specific logging, throwing an error, or other logic here
});

7. Async/प्रतीक्षा: एसिंक्रोनस डिबगिंग को सरल बनाएं

async/await का उपयोग करने से आपके एसिंक्रोनस कोड को डीबग करना आसान हो सकता है:

async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log('Data received:', data);
    return data;
  } catch (error) {
    console.error('Error fetching data:', error);
  }
}

8. Node.js प्रोफाइलर: प्रदर्शन बाधाओं की पहचान करें

प्रदर्शन डिबगिंग के लिए, अंतर्निहित प्रोफाइलर का उपयोग करें:

node --prof app.js

यह एक लॉग फ़ाइल उत्पन्न करता है जिसका आप विश्लेषण कर सकते हैं:

node --prof-process isolate-0xnnnnnnnnnnnn-v8.log > processed.txt

9. मेमोरी लीक: बचाव के लिए हेपडम्प

यदि आपको मेमोरी लीक का संदेह है, तो आप हेपडंप मॉड्यूल का उपयोग कर सकते हैं:

const heapdump = require('heapdump');

// Somewhere in your code
heapdump.writeSnapshot((err, filename) => {
  console.log('Heap dump written to', filename);
});

फिर आप Chrome DevTools का उपयोग करके ढेर डंप का विश्लेषण कर सकते हैं।

निष्कर्ष

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

Node.js के लिए आपकी पसंदीदा डिबगिंग तकनीकें क्या हैं? नीचे टिप्पणी में अपने सुझाव और अनुभव साझा करें!

हैप्पी डिबगिंग!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/rajasekhar_bemireddy_cb8/debugging-nodejs-applications-tips-and-tricks-2ifc?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3