एक Node.js डेवलपर के रूप में, आपको संभवतः अपने एप्लिकेशन में मायावी बग्स को ट्रैक करने में निराशा का सामना करना पड़ा होगा। डिबगिंग एक आवश्यक कौशल है जो आपको घंटों की मशक्कत से बचा सकता है और आपको अधिक मजबूत कोड लिखने में मदद कर सकता है। इस पोस्ट में, हम Node.js अनुप्रयोगों को डीबग करने के लिए कुछ शक्तिशाली तकनीकों और उपकरणों का पता लगाएंगे।
आइए सबसे बुनियादी लेकिन अक्सर कम आंके जाने वाले डिबगिंग टूल से शुरुआत करें: कंसोल.लॉग()। हालांकि यह आदिम लग सकता है, कंसोल.लॉग() का रणनीतिक उपयोग आश्चर्यजनक रूप से प्रभावी हो सकता है।
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);
Node.js एक अंतर्निर्मित डिबगर के साथ आता है जिसका उपयोग आप निरीक्षण ध्वज के साथ अपनी स्क्रिप्ट चलाकर कर सकते हैं:
node inspect app.js
फिर आप अपने कोड के माध्यम से नेविगेट करने के लिए कंट, नेक्स्ट, स्टेप और वॉच जैसे कमांड का उपयोग कर सकते हैं। शक्तिशाली होते हुए भी, जटिल अनुप्रयोगों के लिए यह विधि थोड़ी बोझिल हो सकती है।
VS कोड Node.js के लिए उत्कृष्ट डिबगिंग क्षमताएं प्रदान करता है। इसे कैसे सेट करें यहां बताया गया है:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Debug Node.js Program", "program": "${workspaceFolder}/app.js" } ] }
अब आप अपने कोड में ब्रेकप्वाइंट सेट कर सकते हैं और F5 के साथ डिबगिंग शुरू कर सकते हैं।
आप Node.js अनुप्रयोगों को डीबग करने के लिए Chrome DevTools का उपयोग कर सकते हैं:
node --inspect app.js
यह विधि आपको क्रोम के डिबगिंग टूल की पूरी शक्ति तक पहुंच प्रदान करती है।
डिबग मॉड्यूल आपको अपने एप्लिकेशन में चयनात्मक डिबगिंग आउटपुट जोड़ने की अनुमति देता है:
const debug = require('debug')('myapp:server'); debug('Server starting on port 3000');
इन लॉग को सक्षम करने के लिए, DEBUG पर्यावरण चर सेट करें:
DEBUG=myapp:server node app.js
उचित त्रुटि प्रबंधन से आपका काफी डिबगिंग समय बच सकता है:
process.on('unhandledRejection', (reason, promise) => { console.log('Unhandled Rejection at:', promise, 'reason:', reason); // Application specific logging, throwing an error, or other logic here });
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); } }
प्रदर्शन डिबगिंग के लिए, अंतर्निहित प्रोफाइलर का उपयोग करें:
node --prof app.js
यह एक लॉग फ़ाइल उत्पन्न करता है जिसका आप विश्लेषण कर सकते हैं:
node --prof-process isolate-0xnnnnnnnnnnnn-v8.log > processed.txt
यदि आपको मेमोरी लीक का संदेह है, तो आप हेपडंप मॉड्यूल का उपयोग कर सकते हैं:
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 के लिए आपकी पसंदीदा डिबगिंग तकनीकें क्या हैं? नीचे टिप्पणी में अपने सुझाव और अनुभव साझा करें!
हैप्पी डिबगिंग!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3