Gewusst wie: Debuggen von Angular2 in Chrom
Alle:
Ich bin ziemlich neu Angular2, ich finde es ist noch schwieriger als Angular1 zum Debuggen in Chrome( das ist nur mein Gefühl, wenn ich Folgen Sie der Anleitung auf Angular2 offiziellen Website, wenn es Fehler im code, die meisten der Zeit, die Konsolenausgabe von system.js oder angular.dev.js etcs, weiß ich nicht, was js-Datei nennt die Fehler aus, aber eine Sache ist, die meisten der Zeit, es kann nicht hilfsbereit zeigen sich die wirklichen Platz, wo der Fehler entstanden ist).
Frage ich mich, wo finde ich ein tutorial, wie man zurück verfolgen kann, den Fehler in Chrome für Angular2?
Dank
- Versuchen, erstellen Sie eine Plunker, das zeigt ein konkretes problem, das Sie stoßen und dann einige könnten in der Lage sein, Vorschläge zu machen, wie Sie die verfügbaren Werkzeuge, um die Spur der Ursache des Problems.
- Kasse diesem post auf Debuggen Angular2 in Chrom: stackoverflow.com/questions/34583073/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Tat debugging Angular2 Anwendungen ist ein bisschen schwieriger, als Angular1 bleiben, da gibt es mehrere zusätzliche Mechanismen:
Außerdem sind andere Werkzeuge erforderlich sind, wie SystemJS zu handhaben Module.
Das heißt, Sie können nutzen Sie Ihre IDE und Dev-Tools zu Hilfe, um herauszufinden, Probleme.
Nehmen wir als Beispiele einige klassische Fehler.
Import von einem nicht vorhandenen Modul
Den code:
Die Fehler:
Erklärung: Wenn Sie einen Blick auf die Netzwerk-Registerkarte, werden Sie sehen, dass die
http://localhost:3000/angular2/angular2
Anfrage erhält eine 404-Statuscode und die Antwort-payload ist HTML. SystemJS versucht, dies zu bewerten-code wie JavaScript. Das ist, warum Sie bekommen Sie einen syntax Fehler.Wenn ein Modul nicht gefunden wird, SystemJS versucht, es zu laden von einer URL. Wenn es keine entsprechenden Konfiguration (innerhalb einer
package
- block, einmap
block), die Sie verwendet einfach /Angular2 gebündelt JS Datei fehlt
Den code:
Die Fehler:
Erklärung: es ist etwas ähnlich zu dem vorherigen problem. Wenn Sie hinzufügen http.dev.js Datei, die
angular/http
- Modul automatisch registrieren auf SystemJS mitSystem.register
. Wenn es nicht vorhanden ist, SystemJS versucht zu laden es mithilfe einer HTTP-Anforderung.Falsche Konfiguration der SystemJS, um Ihre Module zu laden
Den code:
Die Fehler:
Erklärung: In diesem Fall wird die Fehlermeldung nicht Hinweise geben. Müssen wir testen, ein bisschen, um herauszufinden, dass das problem tritt auf, wenn
translate:TranslateService
Hinzugefügt wird innerhalb der Komponente Konstruktor. So ist es im Zusammenhang mit der Beladung desng2-translate
so wahrscheinlich, um seine Konfiguration in SystemJS. Siehe diese Frage: ng2-übersetzen: TranslateService und Error: Cannot read property 'getOptional' undefined(...).Falsch element importiert
Code:
Die Fehler:
Erklärung:
Component
ist nicht etwas, das exportiert, von derangular2/core
Modul. Natürlich, es ist hier offensichtlich, aber wir haben keine sehr nützliche Hinweise in der Fehlermeldung. Es kann schwierig sein, herauszufinden, auf große Codebasis. Für solche Fälle sollten Sie nutzen Sie Ihre IDE (auch innerhalb der Erhabene mit dem Typoskript-plugin), da zeigt es einen Fehler. Hier ist der Fehler habe ich in diesem Fall:Fehler bei der Ausführung der Verarbeitung.
Den code:
Die Fehler:
Erklärung: ich denke, es ist sehr einfach Fehler zu beheben, da haben Sie die Zeile, wo der Fehler tritt in der TypeScript-Datei. Vergessen Sie nicht, aktivieren
sourceMap
zu können, verwenden Sie die line-mapping zwischen zusammengestellt JS-Dateien und Typoskript-source-Dateien.ES6 statt Typoskript
Den code:
Die Fehler:
Erklärung: es scheint, dass das problem auf der Ebene der definition der Konstruktor-parameter auf die
:
Charakter. ES6 unterstützt die Klassen sind aber nicht die Typen in der Methode level... Siehe diese Frage: Ionischen 2 Syntax-Fehler Beim Kompilieren TyposkriptAugury aus Rangle.io ist jetzt auch offiziell unterstützt Chrome devtool-Erweiterung für Eckige 2-debugging.
Hier ist ein Artikel, der geht mehr in die Tiefe auf das Thema, Debugging-Eckige 2-Anwendungen von der Konsole aus
können Sie unter diesem link wird es Ihnen komplette Leitfaden für die Fehlersuche Angular2 in Chrom dies ist wirklich sehr hilfreich.
https://augury.angular.io/pages/guides/augury.html
Für chrome-Nutzer, können Sie Debuggen Sie Ihren code mithilfe der developer-tools von chrome. Drücken Sie einfach die Taste F12, um es zu öffnen
klicken Sie auf diesen link, um das Bild zu sehen -> Debugging-code von Winkel-2 mit chrome developer tools
sobald Sie öffnen Sie developer tools, wechseln Sie zur Registerkarte Quellen
wenn angular-Anwendung ausgeführt wird, werden alle Ihre Winkel-Dateien geht innerhalb webpack-Ordner. können Sie Pause, in die Winkel-Komponente-Dateien zum Debuggen von code.