Node.js অ্যাপ্লিকেশনের ডিবাগিং একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা আপনাকে কোডের সমস্যা দ্রুত খুঁজে বের করতে সাহায্য করে। ExpressJS অ্যাপ্লিকেশন ডেভেলপ করার সময় ডিবাগিং টুল এবং টেকনিক ব্যবহার করা অত্যন্ত কার্যকরী। এখানে আমরা আলোচনা করব কীভাবে ExpressJS অ্যাপ্লিকেশন ডিবাগিং করতে হয় এবং Node.js এর সাথে একে কীভাবে ইন্টিগ্রেট করা যায়।
১. Node.js ডিবাগিং অপশন
Node.js নিজেই কিছু বিল্ট-ইন ডিবাগিং টুল সরবরাহ করে, যার মাধ্যমে আপনি কোডের সমস্যাগুলো সহজেই চিহ্নিত করতে পারেন। কিছু সাধারণ ডিবাগিং পদ্ধতি নিম্নরূপ:
১.১. --inspect ফ্ল্যাগ ব্যবহার করে ডিবাগিং
Node.js এর --inspect ফ্ল্যাগ ব্যবহার করে আপনি অ্যাপ্লিকেশন ডিবাগ করতে পারেন। এই ফ্ল্যাগ ব্যবহার করার মাধ্যমে Node.js ডিবাগিং চালু হয় এবং আপনি Chrome DevTools বা অন্য ডিবাগিং টুল ব্যবহার করে কোডটিকে লাইভ ট্র্যাক করতে পারেন।
node --inspect app.js
এটি আপনার অ্যাপ্লিকেশনকে ডিবাগিং মোডে চালু করবে। এরপর, Chrome ব্রাউজারে chrome://inspect URL এ গিয়ে আপনি ডিবাগার অ্যাক্সেস করতে পারবেন।
১.২. --inspect-brk ফ্ল্যাগ ব্যবহার করা
এটি ঠিক --inspect ফ্ল্যাগের মতো কাজ করে, তবে এটি কোড শুরু হওয়ার আগে প্রথম লাইনে থামবে, যাতে আপনি প্রথম থেকেই ডিবাগিং শুরু করতে পারেন।
node --inspect-brk app.js
২. Chrome DevTools ব্যবহার করে ডিবাগিং
Chrome DevTools একটি শক্তিশালী টুল যা আপনি Node.js অ্যাপ্লিকেশন ডিবাগ করার জন্য ব্যবহার করতে পারেন। এটি --inspect অথবা --inspect-brk ফ্ল্যাগ ব্যবহার করার মাধ্যমে Node.js এর ডিবাগিং চালু করে।
২.১. Chrome DevTools চালু করা
আপনার Node.js অ্যাপ্লিকেশন চালু করুন
--inspectফ্ল্যাগ সহ:node --inspect app.js- এরপর Chrome ব্রাউজারে গিয়ে
chrome://inspectURL টি টাইপ করুন। - এখানে "Remote Targets" এর অধীনে আপনার অ্যাপ্লিকেশনটি দেখতে পাবেন। "inspect" বাটনে ক্লিক করুন।
- Chrome DevTools প্যানেল ওপেন হবে, যেখানে আপনি ব্রেকপয়েন্ট সেট, স্টেপ থ্রু, ভ্যারিয়েবল ইত্যাদি দেখতে পারবেন।
৩. Visual Studio Code (VS Code) এর মাধ্যমে ডিবাগিং
Visual Studio Code (VS Code) ডিবাগিং এর জন্য একটি জনপ্রিয় টুল যা Node.js অ্যাপ্লিকেশনের ডিবাগিংয়ের জন্য বিশেষভাবে কনফিগার করা যায়।
৩.১. VS Code ডিবাগিং কনফিগারেশন
- প্রথমে, আপনার VS Code প্রকল্পে
launch.jsonকনফিগারেশন ফাইলটি তৈরি করুন। এটি VS Code এর ডিবাগার সেটিংসে যায়। - VS Code এ
Run and Debug(এবং তারপরAdd Configuration) ক্লিক করুন এবং নিচের কনফিগারেশন কোডটি যোগ করুন:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}/app.js"
}
]
}
- তারপর VS Code এর "Run" অথবা "Debug" অপশন দিয়ে আপনার অ্যাপ্লিকেশনটি ডিবাগ করুন। এটি আপনাকে অ্যাপ্লিকেশনের ভিতরে ব্রেকপয়েন্ট সেট, কোড স্টেপ থ্রু এবং অন্যান্য ডিবাগিং ফিচার ব্যবহার করতে দেবে।
৪. ExpressJS অ্যাপ্লিকেশনে ডিবাগিং টেকনিক্স
৪.১. console.log এবং console.error ব্যবহার
ExpressJS অ্যাপ্লিকেশন ডিবাগ করার একটি সাধারণ এবং সহজ পদ্ধতি হল console.log এবং console.error ব্যবহার করা। আপনি কোডের যে অংশে সমস্যা মনে করেন, সেখানে লগ তৈরি করে ইনফরমেশন দেখতে পারেন।
app.get('/', (req, res) => {
console.log('Request received at / route');
res.send('Hello, world!');
});
এভাবে, আপনি প্রতিটি রিকোয়েস্টের লগ দেখতে পাবেন এবং কোডের যে অংশে সমস্যা হচ্ছে তা চিহ্নিত করতে পারবেন।
৪.২. Express Middleware দিয়ে ডিবাগিং
ExpressJS অ্যাপ্লিকেশনে ডিবাগিং এর জন্য একটি সাধারণ পদ্ধতি হল middleware ব্যবহার করে রিকোয়েস্ট এবং রেসপন্স লগ করা। এটি আপনাকে ডেটার প্রবাহ (data flow) ট্র্যাক করতে সাহায্য করবে।
// Request logging middleware
app.use((req, res, next) => {
console.log(`${req.method} ${req.url} - ${new Date()}`);
next();
});
এটি প্রতিটি রিকোয়েস্টের তথ্য লগ করবে, যেমন HTTP মেথড, URL, এবং তারিখ-সময়সহ।
৪.৩. Error Handling Middleware
এছাড়া, ডিবাগিংয়ের সময় যদি আপনি কোনো ত্রুটি (error) পান, তবে আপনি কাস্টম error handling middleware ব্যবহার করতে পারেন যা ত্রুটির তথ্য লগ করবে এবং সংশ্লিষ্ট ত্রুটি রেসপন্স তৈরি করবে।
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
এটি সমস্ত এররকে লগ করবে এবং 500 স্ট্যাটাস কোড সহ একটি জেনেরিক এরর মেসেজ পাঠাবে।
৫. ডিবাগিং লাইব্রেরি এবং টুলস
৫.১. debug প্যাকেজ
Node.js অ্যাপ্লিকেশনে ডিবাগিং করার জন্য debug প্যাকেজটি অত্যন্ত জনপ্রিয়। এটি console.log এর চেয়ে বেশি কার্যকর, কারণ এটি কনসোলের বিভিন্ন ডিবাগ মেসেজ আলাদা আলাদা নাম দিয়ে গ্রুপ করতে সহায়তা করে।
প্রথমে
debugপ্যাকেজটি ইনস্টল করুন:npm install debugএরপর কোডে ডিবাগিং মেসেজ ব্যবহার করুন:
const debug = require('debug')('app:server'); app.listen(3000, () => { debug('Server started on port 3000'); });এখন, অ্যাপ্লিকেশন চালানোর সময়
DEBUGএনভায়রনমেন্ট ভেরিয়েবল দিয়ে আপনি ডিবাগ মেসেজ দেখতে পারবেন:DEBUG=app:* node app.js
এটি ডিবাগ মেসেজগুলো কেবল তখন দেখাবে যখন আপনি ডিবাগ সেশন চালু করবেন, যা আরও পরিষ্কার এবং নিয়ন্ত্রিত লগিং করতে সহায়তা করবে।
সারাংশ
ExpressJS এবং Node.js অ্যাপ্লিকেশনের ডিবাগিং করার জন্য বেশ কিছু শক্তিশালী টুল এবং টেকনিক রয়েছে। --inspect ফ্ল্যাগ, Chrome DevTools, Visual Studio Code, এবং debug প্যাকেজ ব্যবহারের মাধ্যমে আপনি কোডের সমস্যা দ্রুত চিহ্নিত এবং সমাধান করতে পারেন। পাশাপাশি, ExpressJS-এর কাস্টম middleware এবং console.log ব্যবহার করে আপনি রিকোয়েস্ট এবং রেসপন্সের প্রেক্ষিতে ডিবাগিং করতে পারেন, যা ডেভেলপমেন্ট প্রক্রিয়া আরও দক্ষ করে তোলে।
Read more