"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تصحيح أخطاء تطبيقات Node.js: النصائح والحيل

تصحيح أخطاء تطبيقات Node.js: النصائح والحيل

تم النشر بتاريخ 2024-07-30
تصفح:378

Debugging Node.js Applications: Tips and Tricks

باعتبارك مطور Node.js، من المحتمل أنك واجهت الإحباط الناتج عن تعقب الأخطاء المراوغة في تطبيقاتك. يعد تصحيح الأخطاء مهارة أساسية يمكن أن توفر عليك ساعات من الحيرة وتساعدك على كتابة تعليمات برمجية أكثر قوة. في هذا المنشور، سنستكشف بعض التقنيات والأدوات القوية لتصحيح أخطاء تطبيقات Node.js.

1. Console.log(): النهج الكلاسيكي

لنبدأ بأداة تصحيح الأخطاء الأساسية والتي غالبًا ما يتم الاستهانة بها: console.log(). على الرغم من أن الأمر قد يبدو بدائيًا، إلا أن الاستخدام الاستراتيجي لـ console.log() يمكن أن يكون فعالاً بشكل مدهش.

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() للحصول على عرض أكثر تنظيماً للمصفوفات والكائنات:

console.table(items);

2. مصحح أخطاء Node.js: الحل المدمج

يأتي Node.js مزودًا بمصحح أخطاء مدمج يمكنك استخدامه عن طريق تشغيل البرنامج النصي الخاص بك باستخدام علامة الفحص:

node inspect app.js

يمكنك بعد ذلك استخدام أوامر مثل cont وnext وstep وwatch للتنقل خلال التعليمات البرمجية الخاصة بك. على الرغم من أن هذه الطريقة قوية، إلا أنها قد تكون مرهقة بعض الشيء بالنسبة للتطبيقات المعقدة.

3. رمز الاستوديو المرئي: صديق المطور

يوفر VS Code إمكانيات تصحيح ممتازة لـ 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. Chrome DevTools: قوة المتصفح

يمكنك استخدام Chrome DevTools لتصحيح أخطاء تطبيقات Node.js:

  1. قم بتشغيل تطبيقك باستخدام علامة --inspect:
   node --inspect app.js
  1. افتح Chrome وانتقل إلى chrome://inspect.
  2. انقر على "فتح أدوات DevTools المخصصة للعقدة".

تمنحك هذه الطريقة إمكانية الوصول إلى القوة الكاملة لأدوات تصحيح الأخطاء في Chrome.

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 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. تسرب الذاكرة: Heapdump للإنقاذ

إذا كنت تشك في حدوث تسرب للذاكرة، فيمكنك استخدام وحدة heapdump:

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