Rumah > hujung hadapan web > tutorial js > Menyahpepijat Aplikasi Node.js: Petua dan Trik

Menyahpepijat Aplikasi Node.js: Petua dan Trik

WBOY
Lepaskan: 2024-07-22 08:05:59
asal
515 orang telah melayarinya

Debugging Node.js Applications: Tips and Tricks

Sebagai pembangun Node.js, anda mungkin menghadapi kekecewaan menjejaki pepijat yang sukar difahami dalam aplikasi anda. Penyahpepijatan ialah kemahiran penting yang boleh menjimatkan masa anda menggaru kepala dan membantu anda menulis kod yang lebih mantap. Dalam siaran ini, kami akan meneroka beberapa teknik dan alatan berkuasa untuk menyahpepijat aplikasi Node.js.

1. Console.log(): Pendekatan Klasik

Mari kita mulakan dengan alat penyahpepijatan yang paling asas tetapi sering dipandang remeh: console.log(). Walaupun ia kelihatan primitif, penggunaan strategik console.log() boleh menjadi sangat berkesan.

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;
}
Salin selepas log masuk

Petua pro: Gunakan console.table() untuk paparan tatasusunan dan objek yang lebih berstruktur:

console.table(items);
Salin selepas log masuk

2. Penyahpepijat Node.js: Penyelesaian Terbina dalam

Node.js disertakan dengan penyahpepijat terbina dalam yang boleh anda gunakan dengan menjalankan skrip anda dengan bendera periksa:

node inspect app.js
Salin selepas log masuk

Anda kemudian boleh menggunakan arahan seperti samb, seterusnya, langkah dan tonton untuk menavigasi kod anda. Walaupun berkuasa, kaedah ini agak menyusahkan untuk aplikasi yang kompleks.

3. Kod Visual Studio: Rakan Pembangun

Kod VS menawarkan keupayaan penyahpepijatan yang sangat baik untuk Node.js. Begini cara untuk menyediakannya:

  1. Buat fail .vscode/launch.json dalam projek anda.
  2. Tambah konfigurasi berikut:
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Debug Node.js Program",
      "program": "${workspaceFolder}/app.js"
    }
  ]
}
Salin selepas log masuk

Kini anda boleh menetapkan titik putus dalam kod anda dan mula menyahpepijat dengan F5.

4. Chrome DevTools: Kuasa Penyemak Imbas

Anda boleh menggunakan Chrome DevTools untuk menyahpepijat aplikasi Node.js:

  1. Jalankan apl anda dengan bendera --inspect:
   node --inspect app.js
Salin selepas log masuk
  1. Buka Chrome dan navigasi ke chrome://inspect.
  2. Klik pada "Buka DevTools khusus untuk Nod".

Kaedah ini memberi anda akses kepada kuasa penuh alat penyahpepijat Chrome.

5. Modul Nyahpepijat: Logger Terpilih

Modul nyahpepijat membolehkan anda menambah output penyahpepijatan terpilih pada aplikasi anda:

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

debug('Server starting on port 3000');
Salin selepas log masuk

Untuk mendayakan log ini, tetapkan pembolehubah persekitaran DEBUG:

DEBUG=myapp:server node app.js
Salin selepas log masuk

6. Pengendalian Ralat: Cegah Kegagalan Senyap

Pengendalian ralat yang betul boleh menjimatkan banyak masa penyahpepijatan:

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

7. Async/Await: Permudahkan Penyahpepijatan Asynchronous

Menggunakan async/menunggu boleh menjadikan kod tak segerak anda lebih mudah untuk nyahpepijat:

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);
  }
}
Salin selepas log masuk

8. Pemprofil Node.js: Kenalpasti Kesesakan Prestasi

Untuk penyahpepijatan prestasi, gunakan pemprofil terbina dalam:

node --prof app.js
Salin selepas log masuk

Ini menjana fail log yang boleh anda analisis dengan:

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

9. Kebocoran Memori: Timbunan untuk Menyelamat

Jika anda mengesyaki kebocoran memori, anda boleh menggunakan modul heapdump:

const heapdump = require('heapdump');

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

Anda kemudian boleh menganalisis longgokan timbunan menggunakan Chrome DevTools.

Kesimpulan

Penyahpepijatan adalah seni sama seperti sains. Alat dan teknik ini seharusnya memberi anda asas yang kukuh untuk menangani walaupun pepijat yang paling membingungkan dalam aplikasi Node.js anda. Ingat, kunci kepada penyahpepijatan yang berkesan selalunya ialah gabungan alatan yang betul, pendekatan sistematik dan kadangkala, sepasang mata yang segar.

Apakah teknik penyahpepijatan anda untuk Node.js? Kongsi petua dan pengalaman anda dalam ulasan di bawah!

Selamat menyahpepijat!

Atas ialah kandungan terperinci Menyahpepijat Aplikasi Node.js: Petua dan Trik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan