Javascript 调试角前端

Javascript 调试角前端,javascript,angularjs,Javascript,Angularjs,我们正在开发一个相对简单的有角度的前端(1.4x版),并且我们一直在与打字错误引起的非常小的错误作斗争。例如,我们从服务器获取数据,然后将其放入范围: ... $scope.result = data.results ... 看到复数了吗?这段代码只起作用,将未定义的放在$scope.result中。我们希望在发生这种情况时得到某种形式的通知警告。JSLint之类的静态分析工具在这方面帮不了我们,因为它们完全无法知道服务器返回什么 此问题在HTML模板中再次出现: ... <p>T

我们正在开发一个相对简单的有角度的前端(1.4x版),并且我们一直在与打字错误引起的非常小的错误作斗争。例如,我们从服务器获取数据,然后将其放入范围:

...
$scope.result = data.results
...
看到复数了吗?这段代码只起作用,将
未定义的
放在$scope.result中。我们希望在发生这种情况时得到某种形式的通知警告。JSLint之类的静态分析工具在这方面帮不了我们,因为它们完全无法知道服务器返回什么

此问题在HTML模板中再次出现:

...
<p>The result is: <emph>{{results}}</emph></p>
...
。。。
结果是:{results}

...
在这里,我们尝试访问未定义的
属性时也没有收到任何通知


有没有办法得到任何形式的通知?我们发现自己在这些bug上花费了大量时间。

WebStorm将为您处理此类问题。例如,在我的代码{{f.$error}}中,我在末尾加了一个r,WS将其标记为拼写错误且未解析的变量$error。WebStorm出色地处理了许多不同的框架,包括角度和节点。

这是我使用的解决方案这可能有点离题,但另一个选择是使用IDE/Editor,它可以比记事本更智能地检测打字错误,比如说升华文本和记事本++甚至在一个文件中具有智能感知,当名称/属性包含拼写错误时,WebStorm会显示通知。我们正在使用PyCharm,问题不在于拼写错误,而在于未定义属性的使用。我会重新措辞。@gtlambert,谢谢,这可能会解决第二个问题,但不会解决第一个问题,这是直接的Javascript代码,不会被Angular解析。“…他们绝对无法知道服务器返回什么。”。因此,只需定义属性和响应的类型(jsdoc注释等)。如果您使用JetBrains IDE,如果指定需要“result”,它将能够检测到诸如“resultt”之类的问题。我们使用的是PyCharm,它应该包含WebStorm的所有内容。它会查找输入错误,但不会处理Javascript代码,以查找未从服务器发送的属性。它也不处理访问未定义属性的角度模板。这可能是Javascript问题。您必须确保已加载Javascript调试器和Javascript支持。虽然它们基本相同,但并非所有相同的选项都已打开/加载。我也检查过了,不确定是添加了还是附带了AngularJS插件,但我已经加载了AngularJS插件。@zmbq也许你升级了,angular没有启用?