调试客户端中的JavaScript
问题描述:
我在调试我的应用程序时遇到了一个问题。以下是体系结构: 服务器:Java(Servlet) 客户端:React + D3 问题:每当我更改一些反应或d3代码,并且如果发生错误,它就会告诉我发生了一些反应(或d3)错误但从不告诉我发生错误的函数(如快照所示)。现在,我知道仅仅通过获取变量名称和搜索定义变量的位置来调试它就行了。但是,当我多次使用同一对象(例如window
)并且在代码中进行了多处更改时,情况会变得很难。在这种情况下,发生错误的特定行号可以方便快捷。如果我错过了一些关于调试这些应用程序的基础知识,请告诉我。 调试客户端中的JavaScript
EDIT1: 1.在快照中,http://localhost:8080/..../Server
服务器是主要的servlet应用程序,一种启动板,它会触发几个其他基于响应的js文件。 2.提到的ReferenceError
位于function updateWindow()
之内,但控制台从未提及此(这是我的问题)。
PS:我使用的是服务器端
答
我觉得有没有直接的办法解决这个问题的Eclipse的Tomcat。所以,我会后与一些额外的点为我工作的方法:
- 问题:它不给出一个很好的错误跟踪像标准的Java应用程序,可能是因为它与JavaScript代码混合。
- 在错误跟踪的每一行中,
line:column
指定错误行。我将此作为参考,并从我的应用程序启动的位置开始进行手动调试,即Server.java
,并查看我在JS文件中定义createChart()
的位置,并深入查找,直到找到引用的变量。 - 如果ReactJS错误(解决参考问题后发生错误),我使用正常
react.js
(未缩小版本react.min.js
)对其进行调试,以便它显示出确切的错误行。缩小版本在调试时很混乱,没用。
PS:如果有人有更好的答案,我会在将来编辑它。