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

Menyahpepijat Aplikasi Node.js: Petua dan Trik

Jul 22, 2024 am 08:05 AM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

HTTP Debugging dengan Node dan HTTP-Console HTTP Debugging dengan Node dan HTTP-Console Mar 01, 2025 am 01:37 AM

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

See all articles