Hibakeresés krómozott DevTools

Ez a fordítás a cikk Matt Deslorersa - «hibakeresés node.js Chrome DevTools», melynek eredetije megtalálható a blogján itt.

Ezt a bejegyzést egy bevezetés egy új megközelítés a fejlődés, a hibakeresés és a profilalkotás node.js alkalmazások Chrome DevTools.

Nemrég dolgoztam egy parancssori segédprogram devtool. Node.js program fut benne Chrome DevTools.

Felvétel azt mutatja, amelyben töréspontok belül HTTP-kiszolgáló.

Ez a segédprogram alapul Electron. amely keveréke a lehetőségek node.js és króm. Ez a segédprogram célja, hogy egy egyszerű felületen hibakeresés, profilozás, és a fejlesztés a node.js alkalmazásokat.

Beállíthatjuk devtool segítségével NPM:

Bizonyos értelemben, fel tudjuk használni a helyett devtool node parancsot a konzolba. Például, akkor nyissa meg a REPL, mint ez:

Ez elindít egy új Chrome-példányt DevTools támogatásával minden node.js képesség:

Hibakeresés krómozott DevTools

Néhány más példa:

tervezés

Tudjuk használni devtool folyamatos fejlesztése és alkalmazása valamennyi modul helyett a meglévő közművek ilyen nodemon.

Ez a parancs lefut az app.js Chrome DevTools konzolon. Mivel mi adja a --watch zászlót a konzolt, miközben megőrzi a fájl automatikusan betöltődik.

Hibakeresés krómozott DevTools

Kattints a linkre app.js: 1. ami vezet minket, hogy a megfelelő fájlt, és sorban a Sources fülön.

Hibakeresés krómozott DevTools

Hibakeresés krómozott DevTools

Mivel van a forrásokhoz való hozzáférés lapra. akkor tudjuk használni, hogy a debug alkalmazás. Akkor töréspont, majd indítsa újra a hibakereső (CMD / Ctrl + R), vagy beállíthatja az eredeti referencia pont a zászló --break.

Hibakeresés krómozott DevTools

Íme néhány olyan funkció, lehet nem azonnal nyilvánvaló, hogy azok, akik csak most kezdett tanulni Chrome DevTools:

Míg a debugger szünetel, akkor nyomja meg a Kilépés gombot. A konzol megnyitásához, azaz a jelenlegi körét. Meg lehet változtatni a változók értékeit, majd folytassa.

profilalkotás

Egy másik lehetőség az, hogy a profilalkotás devtool alkalmazások, mint browserify. korty és babel.

Itt használjuk console.profile () - a lehetőséget, Chrome profilba CPU terhelés kollektor.

Most fut devtool mi file:

Elvégzése után, láthatjuk az eredményt a fülére.

Hibakeresés krómozott DevTools

Hibakeresés krómozott DevTools

További keresési opciók

kísérletek

Chrome folyamatosan új funkciókat és kísérletek a DevTools, például ígéretek ellenőr. Akkor engedélyezéséhez kattintson a három pontot a jobb felső sarokban, és válassza a Beállítások → kísérletek.

Hibakeresés krómozott DevTools

A bekapcsolás után nyomja meg a Kilépés gombot. kiváltó ellenőr ígér.

Hibakeresés krómozott DevTools

Megnyomása után a Shift 6-szor a kísérletekben oldalon nyitott több kísérleti lehetőséget, beleértve instabil.

zászló --console

, Akkor irányítsa át a kimenetet a konzol vissza a terminál (process.stdout és process.stderr), amely arra enged következtetni, hogy szépíteni.

Zászlók - és process.argv

Vyshi scriptek elemezni process.argv valamint a szokásos node.js alkalmazást. Ha adsz valamit egy teljes stop parancs (-) a devtool. kapható lesz, mint egy új tömb elem process.argv. Például:

Most, a script a következőképpen nézne ki:

Flag --quit és --headless

Flag --quit befejezi a folyamatot kilépési kódot 1 érünk el, amikor egy hiba (pl szintaktikai hiba vagy nem kapott kivétel).

--headless zászló teszi DevTools egyáltalán nem jelenik meg indításkor. Ezt fel lehet használni a parancssori szkriptek:

Flag --browser-mező

Néhány modul nyújthat egy belépési pont, ami a legjobban fut a böngésző. Használhatja --browser mező flag támogatására package.json zászlókat. ha szükséges modulokat.

Például, tudjuk használni xhr-kérelmet. amely felhasználja XHR szükséges technológiák „böngésző” mezőben.

Most vizsgáljuk meg a kéréseket a Hálózat fülön:

Hibakeresés krómozott DevTools

Flag -no-node-időzítő

Alapértelmezésben biztosítunk globális setTimeout és setInterval. amelyek úgy viselkednek, valamint node.js visszatérő tárgy unred () és a ref () függvények).

Azonban, akkor tiltsa le őket, hogy jobban támogatja az aszinkron stack trace.

Hibakeresés krómozott DevTools

Felveheti .devtoolrc fájl az aktuális könyvtárban, amely további paraméterek, mint a V8-as zászlók.

Kattintson ide további információkért.

buktatók

Mivel az alkalmazás fut a böngészőben környezetben (Electron), és nem egy igazi környezet node.js, meg tud felelni a buktatókat. hogy tisztában kell lennie.

Már van néhány hibakeresőkkel a node.js, így lehet, hogy érdekli a különbség közöttük.

WebStorm Debugger

Hibakeresés krómozott DevTools

Ugyanakkor hiányzik belőle néhány funkciók és Chrome DevTools:

  • Luxus és interaktív konzol
  • Szünet kivételek
  • Aszinkron stack trace
  • ellenőr ígér
  • profilok

Mert integrálja a munkateret WebStrom, módosításokat hajthat végre, és szerkesztheti a fájlokat, míg a hibakeresés. Szintén érdemes megjegyezni, hogy működik a valós világban Node / V8, ellentétben devtool. így egy megbízható debugger széles körű node.js alkalmazásokhoz.

Hibakeresés krómozott DevTools

Úgy nézett ki, mint egy hibakereső alapuló Electron. Ez magában foglalja a beépített parancs újrafordítani a natív kiegészítőket és kifinomult grafikus felület, amely megmutatja a package.json és README.md.

devtool különféle lehetőségeket node.js (mindkettő require.main. setTimeout és process.exit) és újbóli belső mechanizmusok a forrás térképek (forrás térképeket), és van egy jobb hibakezelő, injekció ellenőrzési pontok és a mező „böngésző”.

nyirokcsomó-ellenőr

Hibakeresés krómozott DevTools

Lehet is, mint a nyirokcsomó-ellenőr, azt javasolja, hogy a távoli hibakeresés helyett futó alkalmazások Electron környezetben.

Ez azt jelenti, hogy a kód fog futni ezen node.js környezetet anélkül, hogy minden ablak vagy más böngésző / Electron API, ami szennyezheti a területen, és problémákat okozhat egyes modulokat. Ő teljes mértékben támogatja a nagy node.js alkalmazások (beleértve a natív kiegészítőket), és több, felett DevTools példányt (azaz, akkor töréspontok és vizsgáljuk kéri).

Mivel azonban újra végrehajtja a legtöbb hibakeresés funkciók, akkor lehet lassú és nehézkes, mivel gyakran csökken, ami a frusztráció a fejlesztők.

Ugyanakkor, devtool igyekszik, hogy a fejlesztők már ismerős számukra egy olyan eszköz (Chrome DevTools), valamint olyan egyéb funkciók, mint például a böngésző / Electron API.

Share on fizetési ellenséges vagy kávé.
Minél gyakrabban isznak kávét, annál én írom a cikket.