Birden Çok Araç Kullanarak Node.js Kodunda Hata Ayıklama
Yayınlanan: 2022-03-15Node.js, Google'ın Chrome tarayıcısında kullanılan aynı V8 motorunu temel alan bir JavaScript çalışma zamanıdır. Genellikle platformlar arası sunucu tarafı ve terminal uygulamaları oluşturmak için kullanılır. Node.js, kurulumu kolay, kullanımı pratik, hızlı ve istemci tarafı web geliştiricilerinin becerilerini başka yerlerde kullanmalarına olanak tanıdığı için son on yılda giderek daha popüler hale geldi.
Ancak, yazılım geliştirme karmaşık bir görev olarak kalır ve Node.js kodunuz bir noktada başarısız olur. Bu öğretici, uygulamalarda hata ayıklamaya ve bir sorunun nedenini bulmaya yardımcı olacak çeşitli araçları gösterir.
Hemen dalalım.
Hata Ayıklamaya Genel Bakış
"Hata ayıklama", yazılım kusurlarını düzeltmenin çeşitli yollarına verilen addır. Bir hatayı düzeltmek genellikle basittir. Hatanın nedenini bulmak çok daha karmaşık olabilir ve saatlerce kafa yormaya neden olabilir.
Aşağıdaki bölümlerde karşılaşacağınız üç genel hata türü anlatılmaktadır.
Sözdizimi Hataları
Kodunuz dilin kurallarına uymuyor - örneğin, bir kapatma parantezini atladığınızda veya console.lag(x)
gibi bir ifadeyi yanlış yazdığınızda.
İyi bir kod düzenleyici, genel sorunları şu yollarla tespit etmeye yardımcı olabilir:
- Renk kodlaması geçerli veya geçersiz ifadeler
- Tip kontrol değişkenleri
- Otomatik tamamlama işlevi ve değişken adları
- Eşleşen parantezleri vurgulama
- Otomatik girintili kod blokları
- Ulaşılamayan kodu algılama
- Dağınık işlevleri yeniden düzenleme
VS Code ve Atom gibi ücretsiz editörler, Node.js, JavaScript ve TypeScript (JavaScript'e aktarılan) için büyük desteğe sahiptir. Temel sözdizimi sorunları, genellikle kodunuzu kaydetmeden ve test etmeden önce fark edilebilir.
ESLint gibi bir kod linter'ı ayrıca sözdizimi hatalarını, hatalı girintiyi ve bildirilmemiş değişkenleri de bildirir. ESLint, global olarak yükleyebileceğiniz bir Node.js aracıdır:
npm i eslint -g
JavaScript dosyalarını aşağıdakileri kullanarak komut satırından kontrol edebilirsiniz:
eslint mycode.js
…ancak siz yazarken kodu otomatik olarak doğrulayan ESLint for VS Code veya linter-eslint for Atom gibi bir düzenleyici eklenti kullanmak daha kolaydır:

Mantık Hataları
Kodunuz çalışıyor ancak beklediğiniz gibi çalışmıyor. Örneğin, bir kullanıcı talep ettiğinde oturumu kapatılmaz; bir rapor yanlış rakamlar gösteriyor; veriler bir veritabanına tam olarak kaydedilmez; vb.
Mantık hatalarına şunlar neden olabilir:
- Yanlış değişken kullanmak
- Yanlış koşullar, örneğin
if (a > 5)
yerineif (a < 5)
- Operatör önceliğini hesaba katmayan hesaplamalar, örneğin
1+2*3
, 9 yerine 7 ile sonuçlanır.
Çalışma Zamanı (veya Yürütme) Hataları
Bir hata yalnızca uygulama yürütüldüğünde ortaya çıkar ve bu genellikle bir çökmeye neden olur. Çalışma zamanı hatalarına şunlar neden olabilir:
- Sıfıra ayarlanmış bir değişkene bölme
- Var olmayan bir dizi öğesine erişmeye çalışmak
- Salt okunur bir dosyaya yazmaya çalışmak
Aşağıdaki geliştirme teknikleri yardımcı olsa da, mantık ve çalışma zamanı hatalarını tespit etmek daha zordur:
- Test Odaklı Geliştirmeyi Kullanın: TTD, bir fonksiyon geliştirilmeden önce testler yazmanızı teşvik eder, örneğin, Z parametre olarak geçirildiğinde functionY'den X döndürülür. Bu testler, kodun beklendiği gibi çalışmaya devam etmesini sağlamak için ilk geliştirme ve sonraki güncellemeler sırasında çalıştırılır.
- Bir sorun takip sistemi kullanın: “Yazılımınız çalışmıyor” diyen bir e-postadan daha kötü bir şey olamaz! Sorun izleme sistemleri, belirli sorunları kaydetmenize, çoğaltma adımlarını belgelemenize, öncelikleri belirlemenize, geliştiriciler atamanıza ve düzeltmelerin ilerlemesini izlemenize olanak tanır.
- Kaynak kontrolünü kullanın: Git gibi bir kaynak kontrol sistemi, kodu yedeklemenize, revizyonları yönetmenize ve bir hatanın nerede ortaya çıktığını belirlemenize yardımcı olur. Github ve Bitbucket dahil çevrimiçi depolar, daha küçük veya açık kaynaklı projeler için boş alan ve araçlar sağlar.
Node.js hatalarıyla karşılaşmaya devam edeceksiniz, ancak aşağıdaki bölümlerde bu anlaşılması zor hatayı bulmanın yolları açıklanmaktadır.
Uygun Node.js Ortam Değişkenlerini Ayarlayın
Ana bilgisayar işletim sisteminde ayarlanan ortam değişkenleri, Node.js uygulamasını ve modül ayarlarını kontrol edebilir. En yaygın olanı NODE_ENV
ve genellikle hata ayıklama sırasında geliştirmeye veya canlı bir sunucuda çalışırken üretime ayarlanır. MacOS veya Linux'ta ortam değişkenlerini şu komutla ayarlayın:
NODE_ENV=development
veya (klasik) Windows komut isteminde:
set NODE_ENV=development
veya Windows Powershell:
$env:NODE_ENV="development"
Popüler Express.js çerçevesinde, NODE_ENV'yi geliştirmeye ayarlamak, şablon dosyası önbelleğe almayı devre dışı bırakır ve hata ayıklama sırasında yardımcı olabilecek ayrıntılı hata mesajları verir. Diğer modüller benzer özellikler sunabilir ve uygulamalarınıza bir NODE_ENV koşulu ekleyebilirsiniz, örn.
// running in development mode? const devMode = (process.env.NODE_ENV !== 'production'); if (devMode) { console.log('application is running in development mode'); }
Hata mesajlarının koşullu çıktısını almak için Node'un util.debuglog yöntemini de kullanabilirsiniz, örn.
import { debuglog } from 'util'; const myappDebug = debuglog('myapp'); myappDebug('log something');
Bu uygulama, yalnızca NODE_DEBUG, uygulamam veya * veya benim* gibi bir joker karakter olarak ayarlandığında günlük iletisinin çıktısını verir.
Node.js Komut Satırı Seçeneklerini Kullanın
Düğüm komut dosyaları genellikle, düğüm ve ardından giriş komut dosyasının adı ile başlatılır:
node app.js
Çeşitli çalışma zamanı özelliklerini kontrol etmek için komut satırı seçeneklerini de ayarlayabilirsiniz. Hata ayıklama için faydalı bayraklar şunları içerir:
-
--check
sözdizimi komut dosyasını çalıştırmadan kontrol edin -
--trace-warnings
JavaScript Sözleri çözülmediğinde veya reddetmediğinde bir yığın izleme çıktısı alın -
--enable-source-maps
TypeScript gibi bir aktarıcı kullanırken kaynak haritaları göster -
--throw-deprecation
kullanımdan kaldırılmış Node.js özellikleri kullanıldığında uyar -
--redirect-warnings=file
stderr yerine bir dosyaya uyarı çıktısı -
--trace-exit
process.exit()
çağrıldığında bir yığın izleme çıktısı alın.
Konsola Çıktı Mesajları
Konsol mesajı çıktısı almak, bir Node.js uygulamasında hata ayıklamanın en basit yollarından biridir:
console.log(`someVariable: ${ someVariable }`);
Çok az geliştirici, başka birçok konsol yöntemi olduğunun farkındadır:
Konsol Yöntemi | Tanım |
---|---|
.log(msg) | standart konsol mesajı |
.log('%j', obj) | kompakt bir JSON dizesi olarak çıktı nesnesi |
.dir(obj, opt) | güzel baskı nesnesi özellikleri |
.table(obj) | çıktı dizileri ve nesneleri tablo biçiminde |
.error(msg) | bir hata mesajı |
.count(label) | adlandırılmış bir sayacı ve çıktıyı artır |
.countReset(label) | adlandırılmış bir sayacı sıfırla |
.group(label) | bir grup mesajı girinti |
.groupEnd(label) | bir grubu sonlandır |
.time(label) | adlandırılmış bir zamanlayıcı başlatır |
.timeLog(label) | geçen süreyi bildirir |
.timeEnd(label) | adlandırılmış bir zamanlayıcıyı durdurur |
.trace() | yığın izleme çıktısı (yapılan tüm işlev çağrılarının listesi) |
.clear() | konsolu temizle |
console.log()
ayrıca virgülle ayrılmış değerlerin bir listesini de kabul eder:
let x = 123; console.log('x:', x); // x: 123
… ES6 yıkımı daha az çabayla benzer çıktılar sunsa da:
console.log({ x }); // { x: 123 }
Console.dir () komutu, nesne özelliklerini util.inspect() ile aynı şekilde güzel yazdırır:
console.dir(myObject, { depth: null, color: true });
Konsol Tartışması
Bazı geliştiriciler, asla console.log()
kullanmamanız gerektiğini iddia eder, çünkü:
- Kodu değiştiriyorsunuz ve bir şeyi değiştirebilir veya kaldırmayı unutabilirsiniz ve
- Daha iyi hata ayıklama seçenekleri olduğunda buna gerek yoktur.
Asla console.log()
kullanmadığını iddia edenlere inanmayın! Günlüğe kaydetme hızlı ve kirlidir, ancak herkes bir noktada kullanır. Tercih ettiğiniz herhangi bir araç veya tekniği kullanın. Bir hatayı düzeltmek, onu bulmak için benimsediğiniz yöntemden daha önemlidir.
Üçüncü Taraf Bir Günlük Kayıt Sistemi Kullanın
Üçüncü taraf kayıt sistemleri, mesajlaşma düzeyleri, ayrıntı düzeyi, sıralama, dosya çıktısı, profil oluşturma, raporlama ve daha fazlası gibi daha karmaşık özellikler sağlar. Popüler çözümler arasında kabin, loglevel, morgan, pino, signale, storyboard, tracer ve winston bulunur.
V8 Inspector'ı kullanın
V8 JavaScript motoru, Node.js'de kullanabileceğiniz bir hata ayıklama istemcisi sağlar. Düğüm incelemesini kullanarak bir uygulama başlatın, ör.
node inspect app.js
Hata ayıklayıcı ilk satırda duraklar ve bir hata ayıklama> istemi görüntüler:
$ node inspect .\mycode.js < Debugger listening on ws://127.0.0.1:9229/143e23fb < For help, see: https://nodejs.org/en/docs/inspector < ok < Debugger attached. < Break on start in mycode.js:1 > 1 const count = 10; 2 3 for (i = 0; i < counter; i++) { debug>
Komutların listesini görüntülemek için yardım girin. Aşağıdakileri girerek uygulamada adım atabilirsiniz:
- cont veya c : yürütmeye devam et
- next veya n : sonraki komutu çalıştır
- step veya s : çağrılan bir fonksiyona adım atın
- out veya o : bir işlevden çıkın ve çağıran ifadeye dönün
- duraklat : çalışan kodu duraklat
- watch('myvar') : bir değişkeni izle
- setBreakPoint() veya sb() : bir kesme noktası ayarlayın
- yeniden başlat : betiği yeniden başlat
- .exit veya Ctrl | Cmd + D : hata ayıklayıcıdan çıkın
Kuşkusuz, bu hata ayıklama seçeneği zaman alıcı ve hantaldır. Yalnızca başka bir seçenek olmadığında, örneğin uzak bir sunucuda kod çalıştırırken ve başka bir yerden bağlanamıyorken veya ek yazılım yükleyemiyorken kullanın.
Node.js Kodunda Hata Ayıklamak için Chrome Tarayıcıyı Kullanın
Yukarıda kullanılan Node.js inceleme seçeneği, yerel ana bilgisayar bağlantı noktası 9229'u dinleyen bir Web Yuvası sunucusunu başlatır. Ayrıca metin tabanlı bir hata ayıklama istemcisi de başlatır, ancak Google Chrome'da yerleşik ve Chrome tabanlı gibi grafik istemciler kullanmak mümkündür. Chromium, Edge, Opera, Vivaldi ve Brave gibi tarayıcılar.
Tipik bir web uygulamasında hata ayıklamak için, V8 hata ayıklayıcının Web Soket sunucusunu etkinleştirmek için –inspect seçeneğiyle başlatın:
node --inspect index.js
Not:
- index.js'nin uygulamanın giriş komut dosyası olduğu varsayılır.
- Metin tabanlı hata ayıklayıcı istemcisini başlatmadığınızdan emin olmak için
--inspect
çift tire ile kullandığınızdan emin olun. - Bir dosya değiştirildiğinde uygulamayı otomatik olarak yeniden başlatmak istiyorsanız node yerine nodemon kullanabilirsiniz.
Varsayılan olarak, hata ayıklayıcı yalnızca yerel makineden gelen bağlantıları kabul eder. Uygulamayı başka bir cihazda, sanal makinede veya Docker kapsayıcısında çalıştırıyorsanız şunları kullanın:

node --inspect=0.0.0.0:9229 index.js

İlk satırda işlemeyi durdurmak (bir kesme noktası ayarlamak) için --inspect
yerine --inspect-brk
da kullanabilirsiniz, böylece baştan itibaren kodu adım adım ilerletebilirsiniz.
Chrome tabanlı bir tarayıcı açın ve yerel ve ağ bağlantılı cihazları görüntülemek için adres çubuğuna chrome://inspect
yazın:

Node.js uygulamanız Uzak Hedef olarak görünmüyorsa:
- Düğüm için Özel DevTools Aç'ı tıklayın ve adresi ve bağlantı noktasını seçin veya
- Keşfet ağ hedeflerini kontrol edin, Yapılandır'ı tıklayın, ardından cihazın çalıştığı cihazın IP adresini ve bağlantı noktasını ekleyin.
DevTools hata ayıklayıcı istemcisini başlatmak için Hedefin incele bağlantısını tıklayın. Bu, istemci tarafı kod hata ayıklaması için DevTools'u kullanan herkese aşina olmalıdır:

Kaynaklar paneline geçin. Herhangi bir dosyayı Cmd | Ctrl + P ve dosya adını girme (index.js gibi).
Ancak proje klasörünüzü çalışma alanına eklemek daha kolaydır. Bu, dosyaları doğrudan DevTools'dan yüklemenize, düzenlemenize ve kaydetmenize olanak tanır (bunun iyi bir fikir olup olmadığı başka bir konudur!)
- + Çalışma alanına klasör ekle'yi tıklayın
- Node.js projenizin konumunu seçin
- Dosya değişikliklerine izin vermek için Kabul Et'e basın
Artık dosyaları soldaki dizin ağacından yükleyebilirsiniz:

Mavi bir işaretleyici ile gösterilen bir kesme noktası ayarlamak için herhangi bir satır numarasına tıklayın.
Hata ayıklama, kesme noktalarına dayanır. Bunlar, hata ayıklayıcının program yürütmeyi nerede duraklatacağını ve programın mevcut durumunu (değişkenler, çağrı yığını vb.)
Kullanıcı arayüzünde istediğiniz sayıda kesme noktası tanımlayabilirsiniz. Başka bir seçenek de bir hata ayıklayıcı yerleştirmektir; bir hata ayıklayıcı eklendiğinde duran kodunuzdaki ifade.
Bir kesme noktasının ayarlandığı ifadeye ulaşmak için web uygulamanızı yükleyin ve kullanın. Buradaki örnekte, http://localhost:3000/ herhangi bir tarayıcıda açılır ve DevTools 44. satırda yürütmeyi durdurur:

Sağ taraftaki panel şunları gösterir:
- Bir dizi eylem simgesi (aşağıya bakın).
- İzleme bölmesi, + simgesine tıklayarak ve adlarını girerek değişkenleri izlemenize olanak tanır.
- Bir Kesme Noktaları bölmesi, tüm kesme noktalarının bir listesini gösterir ve bunların etkinleştirilmesine veya devre dışı bırakılmasına izin verir.
- Bir Kapsam bölmesi, tüm yerel, modül ve genel değişkenlerin durumunu gösterir. Bu bölmeyi en sık inceleyeceksiniz.
- Çağrı Yığını bölmesi, bu noktaya ulaşmak için çağrılan işlevlerin hiyerarşisini gösterir.
Kesme noktasında Duraklatıldı'nın üzerinde bir dizi eylem simgesi gösterilir:

Soldan sağa, bunlar aşağıdaki eylemleri gerçekleştirir:
- yürütmeye devam et : Bir sonraki kesme noktasına kadar işlemeye devam et
- adım at : Bir sonraki komutu yürütün, ancak mevcut kod bloğu içinde kalın - çağırdığı herhangi bir işleve atlamayın
- adım atın : Bir sonraki komutu yürütün ve gerektiği gibi herhangi bir işleve atlayın
- step out : Fonksiyonun sonuna kadar işlemeye devam edin ve çağıran komuta geri dönün
- step : Step içine benzer, ancak zaman uyumsuz işlevlere atlamaz
- tüm kesme noktalarını devre dışı bırak
- istisnalarda duraklat : Bir hata oluştuğunda işlemeyi durdurun.
Koşullu Kesme Noktaları
Bazen kesme noktaları üzerinde biraz daha fazla kontrole sahip olmak gerekir. 1000 yinelemeyi tamamlayan bir döngünüz olduğunu hayal edin, ancak yalnızca sonuncusunun durumuyla ilgileniyorsunuz:
for (let i = 0; i < 1000; i++) { // set breakpoint here }
Yürütmeyi 999 kez sürdür'ü tıklatmak yerine, satıra sağ tıklayıp Koşullu kesme noktası ekle'yi seçebilir ve i = 999
gibi bir koşul girebilirsiniz:

Chrome, koşullu kesme noktalarını mavi yerine sarı olarak gösterir. Bu durumda, kesme noktası yalnızca döngünün son yinelemesinde tetiklenir.
Günlük Noktaları
Günlük noktaları, herhangi bir kod olmadan konsol.log() işlevini etkin bir şekilde uygular! Kod herhangi bir satırı çalıştırdığında bir ifade çıkarılabilir, ancak bir kesme noktasından farklı olarak işlemeyi durdurmaz.
Günlük noktası eklemek için herhangi bir satırı sağ tıklayın, Günlük noktası ekle öğesini seçin ve bir ifade girin, örneğin 'loop counter i', i
:

DevTools konsolu, yukarıdaki örnekte loop counter i: 0
loop counter i: 999
çıkarır.
Node.js Uygulamalarında Hata Ayıklamak için VS Kodunu Kullanın
VS Code veya Visual Studio Code, Microsoft'un web geliştiricileri arasında popüler hale gelen ücretsiz bir kod düzenleyicisidir. Uygulama Windows, macOS ve Linux için mevcuttur ve Electron çerçevesindeki web teknolojileri kullanılarak geliştirilmiştir.
VS Code, Node.js'yi destekler ve yerleşik bir hata ayıklama istemcisine sahiptir. Çoğu uygulamada herhangi bir yapılandırma olmadan hata ayıklanabilir; düzenleyici, hata ayıklama sunucusunu ve istemcisini otomatik olarak başlatır.
Başlangıç dosyasını (index.js gibi) açın, Çalıştır ve Hata Ayıklama bölmesini etkinleştirin, Çalıştır ve Hata Ayıkla düğmesini tıklayın ve Node.js ortamını seçin. Kırmızı daire simgesi olarak gösterilen bir kesme noktasını etkinleştirmek için herhangi bir satıra tıklayın. Ardından, uygulamayı daha önce olduğu gibi bir tarayıcıda açın - VS Kodu, kesme noktasına ulaşıldığında yürütmeyi durdurur:

Değişkenler , İzleme , Çağrı Yığını ve Kesme Noktaları bölmeleri, Chrome Geliştirme Araçları'nda gösterilenlere benzer. Yüklenen Komut Dosyaları bölmesi, birçoğu Node.js'nin içinde olmasına rağmen hangi komut dosyalarının yüklendiğini gösterir.
Eylem simgeleri araç çubuğu şunları yapmanızı sağlar:
- yürütmeye devam et : Bir sonraki kesme noktasına kadar işlemeye devam et
- adım at : Bir sonraki komutu yürütün ancak mevcut işlev içinde kalın - çağırdığı herhangi bir işleve atlamayın
- adım atın : Bir sonraki komutu yürütün ve çağırdığı herhangi bir işleve atlayın
- step out : Fonksiyonun sonuna kadar işlemeye devam edin ve çağıran komuta geri dönün
- uygulamayı ve hata ayıklayıcıyı yeniden başlatın
- uygulamayı ve hata ayıklayıcıyı durdur
Chrome DevTools gibi, Koşullu kesme noktaları ve Günlük noktaları eklemek için herhangi bir satırı sağ tıklayabilirsiniz.
Daha fazla bilgi için bkz. Visual Studio Code'da Hata Ayıklama.
VS Kodu Gelişmiş Hata Ayıklama Yapılandırması
Başka bir cihazda, bir sanal makinede kod hatalarını ayıklamak istiyorsanız veya nodemon gibi alternatif başlatma seçeneklerini kullanmanız gerekiyorsa, daha fazla VS Kodu yapılandırması gerekli olabilir.
VS Code, hata ayıklama yapılandırmalarını projenizdeki bir .vscode
dizini içindeki bir launch.json dosyasında saklar. Çalıştır ve Hata Ayıklama bölmesini açın, launch.json dosyası oluştur öğesine tıklayın ve bu dosyayı oluşturmak için Node.js ortamını seçin. Örnek bir yapılandırma sağlanmıştır:

Herhangi bir sayıda konfigürasyon ayarı, "configurations"
dizisindeki nesneler olarak tanımlanabilir. Konfigürasyon Ekle…'ye tıklayın ve uygun bir seçenek belirleyin.
Tek bir Node.js yapılandırması aşağıdakilerden birini yapabilir:
- Bir işlemin kendisini başlatın veya
- Uzak bir makinede veya Docker kapsayıcısında çalışan bir hata ayıklama Web Yuvası sunucusuna ekleyin.
Örneğin, bir nodemon konfigürasyonu tanımlamak için Node.js: Nodemon Setup'ı seçin ve gerekirse "program" giriş komut dosyasını değiştirin:
{ // custom configuration "version": "0.2.0", "configurations": [ { "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "name": "nodemon", "program": "${workspaceFolder}/index.js", "request": "launch", "restart": true, "runtimeExecutable": "nodemon", "skipFiles": [ "<node_internals>/**" ], "type": "pwa-node" } ] }
launch.json
dosyasını kaydedin ve nodemon ("ad" yapılandırması), Çalıştır ve Hata Ayıklama bölmesinin üstündeki açılır listede görünür. Bu yapılandırmayı kullanmaya başlamak için yeşil çalıştırma simgesine tıklayın ve nodemon kullanarak uygulamayı başlatın:

Daha önce olduğu gibi kesme noktaları, koşullu kesme noktaları ve günlük noktaları ekleyebilirsiniz. Temel fark, bir dosya değiştirildiğinde nodemon'un sunucunuzu otomatik olarak yeniden başlatmasıdır.
Daha fazla bilgi için VS Code Launch konfigürasyonlarına bakın.
Aşağıdaki VS Kodu uzantıları, uzak veya yalıtılmış sunucu ortamlarında barındırılan kodda hata ayıklamanıza da yardımcı olabilir:
- Uzak — Kapsayıcılar: Docker kapsayıcılarında çalışan uygulamalara bağlanın
- Uzak — SSH: Uzak bir sunucuda çalışan uygulamalara bağlanın
- Uzak — WSL: Linux için Windows Alt Sisteminde (WSL) çalışan uygulamalara bağlanın.
Diğer Node.js Hata Ayıklama Seçenekleri
Node.js Hata Ayıklama Kılavuzu, Visual Studio, JetBrains WebStorm, Gitpod ve Eclipse dahil olmak üzere çeşitli metin düzenleyicileri ve IDE'ler için öneriler sunar. Atom, Chrome DevTools hata ayıklayıcısını düzenleyiciye entegre eden bir düğüm hata ayıklama uzantısı sunar.
Uygulamanız yayına girdikten sonra, gerçek kullanıcıların karşılaştığı istemci ve sunucu hatalarını kaydedebilen ve oynatabilen LogRocket ve Sentry.io gibi ticari hata ayıklama hizmetlerini kullanmayı düşünebilirsiniz.
Özet
Tarihsel olarak JavaScript hata ayıklaması zor olmuştur, ancak son on yılda büyük gelişmeler olmuştur. Seçim, diğer diller için sağlananlar kadar - daha iyi değilse - iyidir.
Bir sorunu bulmak için pratik olan herhangi bir aracı kullanın. Hızlı hata arama için console.log() ile ilgili yanlış bir şey yoktur, ancak daha karmaşık sorunlar için Chrome DevTools veya VS Code tercih edilebilir. Araçlar, daha sağlam kod oluşturmanıza yardımcı olabilir ve hataları düzeltmek için daha az zaman harcarsınız.
Hangi Node.js hata ayıklama uygulamasına güveniyorsunuz? Aşağıdaki yorumlar bölümünde paylaşın!