2016-07-15 13 views
2

Es gibt eine Menge Fragen zu SO über das Debuggen eines eigenständigen Stück von Javascript - das ist nicht was ich will. Keine der vorherigen Eclipse/Javascript Fragen scheint auf den Punkt zu kommen, was mich überrascht hat.Wie Debuggen von Javascript mit Eclipse läuft lokalen Tomcat-Server

Ich benutze Eclipse für Java EE (Neon, die neueste Version), um eine JSP/Servlet-Website zu entwickeln - eine volle Website, nicht nur Javascript, und nicht nur Java/Jsp - alles zusammen. Ich kann mein Java und "debug as" auf einer Instanz von Tomcat kompilieren, die von Eclipse erzeugt wird, und die Webseiten werden in einem Fenster in Eclipse angezeigt. Ich kann Java-Breakpoints den ganzen Tag lang setzen und drücken, während ich "debug as" benutze - aber das Setzen von Breakpoints in Javascript tut nicht diddly. Ich musste eine eigenständige Tomcat-Instanz ausführen, Kriegsdateien bereitstellen, auf die Dekomprimierung der War-Dateien warten und dann mein Javascript in Firefox debuggen. Dies ist besonders ärgerlich, weil ich relativ neu in Javascript bin und einige komplexe Dinge auf der Seite mache (und ehrlich gesagt, einige dumme Fehler machen, die ein Compiler in einer getippten Sprache für mich fangen würde, bevor ich meine Zeit damit verschwenden könnte, zu laufen der Code) und der "Wechsel, beobachte, wie Eclipse den Krieg entfesselt, warte auf Tomcat, um den Krieg zu zerquetschen, teste" Zyklus ist nur unannehmbar lang.

Gibt es nicht einen einfacheren Weg BEIDEN java und Javascript aus dem gleichen IDE zu debuggen ohne WAR-Dateien exportieren und mit bereitstellen? Gibt es eine Einstellung, die ich umschalten oder etwas, das ich in Eclipse installieren kann, um es zu einer All-in-One-IDE zu machen? Idealerweise würde ich gerne in der Lage sein, zum Beispiel einen AJAX-Aufruf in mein Servlet zu durchlaufen UND zu beobachten, was nach der Rückkehr im Javascript passiert - innerhalb der gleichen Debugging-Sitzung - also präventiv, dass das Kopieren der geänderten js-Datei (s) direkt zum dekomprimierten Ordner in tomcat/webapps, da eine schnellere Möglichkeit, Split-Debugging fortzusetzen, nicht die Art von "Workaround-Antwort" ist, nach der ich suche.

+2

Sie können einen externen Browser (dh Ihre Chrome/Firefox/Safari/IE) verwenden, um auf die Webapp in Eclipse zugreifen, und verwenden Sie die Browser-Entwickler-Tools zum Debuggen von JavaScript, AJAX Anrufe usw. Wenn Sie die Standardeinstellungen nicht geändert haben, sollte der Tomcat des Eclipse auf dem Standardport 8080 laufen. –

+0

Danke - das ist besser als das, was ich getan habe [den Homer Simpson "Duuuoohhh" Moment hier fühlen]. Bisher hat noch niemand eine wirklich integrierte Eclipse-Lösung entwickelt, die mich überrascht. Davon abgesehen, nehme ich an, dass das Ausnutzen des Debuggens von kommerziellen Browsern kein schlechter Weg ist, auch wenn es umständlich ist. – JackLThornton

Antwort

1

JavaScript-Debugging wird in Eclipse unterstützt Neon 1 Release (September 2016). Hier ist ein Demo-Video, in dem Schritt-für-Schritt-Prozess des Debugging sowohl Front-End als auch Back-End erklärt wird - https://youtu.be/7oQz1Ja1H08.

Grundsätzlich ist das Ausführen von Chrome/Chromium mit zusätzlichen Parametern und Tuning Source Mapping manuell nicht wirklich benutzerfreundlich, aber wir werden es für Neon 1 und zukünftige Versionen verbessern. Beiträge jeglicher Art sind herzlich willkommen;)

Verwandte Themen