Das JavaScript-Framework Vue.js, Teil 7Debugging von Vue-Anwendungen
Von
Dr. Dirk Koller
3 min Lesedauer
Wer beim Debugging allein auf Log-Ausgaben setzt, verschenkt auch im Vue.js-Framework Zeit und Entwicklungskomfort. Von der universell einsetzbaren JavaScript-Konsole bis zu den hoch spezialisierten Vue.js-Devtools.
Debugging einer Vue-Anwendung in Visual Studio Code.
(Bild: Koller / Microsoft)
JavaScript-Konsole
Das bekannteste Werkzeug für das Debugging von JavaScript-Anwendungen, egal mit welchem Framework, sind natürlich die Entwicklertools des Browsers. In Chrome findet man sie im Menü unter „Anzeigen > Entwickler > Entwicklertools“ oder einfach im Kontextmenü unter „Untersuchen“. Die Werkzeuge beinhalten verschiedene Reiter.
Während der Vue-Entwicklung empfiehlt es sich insbesondere, die Konsole stets offen und im Auge zu behalten. Hier werden eventuelle Laufzeitfehler ausgegeben. Mit der Instanz console der Klasse Console lassen sich einfache Log-Meldungen in die Browser-Konsole (bzw. in Stdout und Stderr) ausgeben. Dafür stehen verschiedene Methoden wie console.debug(), console.log(), console.error() oder console.warn() zur Verfügung.
Bildergalerie
Mit der Filterfunktion in den Entwicklertools lassen sich die Ausgaben auf bestimmte Log-Level beschränken. Selbst wenn man die Informationsflut damit unter Kontrolle bekommt – das Debuggen durch ständiges Zufügen, Löschen und Anpassen der Ausgaben ist nicht sonderlich effizient und es macht den Sourcecode schwer lesbar.
Visual Studio Code-Debugger
Eleganter als die Fehlersuche mit Log-Ausgaben ist das Verwenden eines richtigen Debuggers. Damit lässt sich der Anwendung während des Ablaufs unter die Haube schauen. Die beliebte Entwicklungsumgebung Visual Studio Code (VS Code) beinhaltet bereits einen JavaScript-Debugger, ein Plug-in ist also nicht mehr erforderlich. Um den Debugger in Betrieb zu nehmen, muss die Datei vue.config.js angepasst bzw. im Vue-Projekt angelegt werden:
Erstellen einer Launch-Konfiguration in Visual Studio Code.
(Bild: Koller / Microsoft)
Außerdem wird eine Launch-Konfiguration benötigt. Man erstellt sie, indem man in der Visual Studio Code-Activity Bar (auf der linken Seite) den Punkt „Run & Debug“ (das Icon mit Play-Pfeil und Käfer) auswählt und dort auf den Link „create a lauch.json file“ klickt. VSCode fragt daraufhin den gewünschten Browser ab und zeigt anschließend eine Default-Konfiguration an. Die wird für Chrome und Firefox wie folgt angepasst:
Debugging einer Vue-Anwendung in Visual Studio Code.
(Bild: Koller / Microsoft)
Danach lässt sich (bei laufendem Dev-Server) der Browser mit dem grünen Pfeil am oberen Rand in der Activity Bar im Debug-Modus starten. Wie von anderen IDEs bekannt, kann man nun Breakpoints setzen (links neben die Zeilennummern klicken), schrittweise durch den Code steppen oder Variableninhalte untersuchen.
Vue.js Devtools
Speziell für die Arbeit mit Vue wurden die Vue.js Devtools entwickelt. Es handelt sich dabei um ein Browser-Plug-in für Chrome oder Firefox, das das Debugging ganz erheblich erleichtert. Die vom Vue-Macher entwickelte Erweiterung bietet dem Entwickler eine graphische Darstellung seiner Vue-App, mit deren Hilfe sich Komponenten, Daten, Computed Properties, Events und Vuex-Actions, -Getter und -Mutationen unter die Lupe nehmen lassen. Im Moment gibt es neben der normalen Version eine Beta-Version, die (nur) Vue 3 unterstützt.
Die Vue Devtools in Chrome.
(Bild: Koller / Google)
Nach der Installation des Plug-ins sollte eine laufende Vue-App erkannt werden, man sieht das an dem (dann) grünen Vue-Icon in der Liste der Erweiterungen neben dem Adressfeld des Browsers. Ist das der Fall, öffnet man die Entwicklungswerkzeuge des Browsers und findet unter dem Punkt Vue die Devtools. Dort stehen dann die beiden Bereiche „Inspector“ und „Timeline“ zur Auswahl.
Der Inspector listet unter „Components“ den ganzen Komponentenbaum der Vue-Anwendung auf (siehe Screenshot). Bewegt man die Maus über den Baum, so werden im Browser-Fenster die zugehörigen Elemente hervorgehoben. Dadurch ist ersichtlich, welche Vue-Komponente wo im Browser gerendert wird.
Mit Hilfe des Fadenkreuz-Buttons (Select Component in the page) rechts oben im Inspector (oder einfach durch Drücken der Taste S) lässt sich der Spieß umdrehen. Eine im Browser ausgewählte Komponente wird dann im Inspektor selektiert und somit schnell lokalisiert. Nach der Auswahl einer Komponente werden die zugehörigen Props, Variablen oder Computed Properties angezeigt.
Data-Variablen lassen sich bearbeiten. Selektiert man eine Komponente, deren Source-Code zur Verfügung steht, kann man mit dem Button Open in Editor auch direkt in den Quellcode springen. Weitere Ansichten zeigen die vorhandenen Routen oder lassen einen Blick in den Vuex- (oder Pinia)-Store werfen.
Unter Timeline sind auftretende Events wie Mouse- oder Keyboard-Events, aber auch Custom-Events der Komponente inklusive Payload, Router-Navigationen oder Vuex-Mutationen und -Actions als kleine Punkte auf einer Zeitachse angeordnet. Bei Auswahl eines Ereignisses werden auch hier weitere Informationen wie die genaue Uhrzeit und enthaltene Daten preisgegeben.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Logging-Befehle sind sofort einsatzbereit und jedem bekannt. Der Visual Studio Code-Debugger und das Devtool-Plug-in müssen dagegen erst eingerichtet werden und erfordern ein wenig Eingewöhnungszeit. Dieser einmalige Mehraufwand wird aber durch deutlich eine effiziente Fehlersuche mehr als aufgewogen. Die Mühe lohnt sich!