Chrome Inspector中的Javascript调试:变量在手表和控制台中显示为未定义,但可以在悬停时进行检查

时间:2017-01-18 20:52:16

标签: javascript angularjs google-chrome google-chrome-devtools web-inspector

在Chrome检查器中调试AngularJS时,当我知道某些变量已定义时,我经常遇到这种情况,我可以通过在Chrome检查器中将鼠标悬停在它们上来检查它们。它们也出现在“本地人”标签中。但是,当我尝试将它们添加到监视选项卡或通过键入变量名称在控制台中评估它时,我得到“未定义”。见图(通知变量'xhr')。

有人可以解释为什么有时变量在监视选项卡和控制台中显示为未定义的原因,当它们在当前范围内实际上未被定义时?并且,如果可能的话,如何使监视窗口和控制台始终正确显示变量的值? 见图片(通知变量'xhr')。enter image description here 感谢

1 个答案:

答案 0 :(得分:4)

源映射变量不会在调试器中显示已解析的名称,因为此功能尚未实现。有趣的是,映射文件包含一个names数组,其中包含原始名称。但是,浏览器还没有使用它。金丝雀有一个实验性的特征,但它似乎不再存在。

您可以关注display source map variable names in Developer Tools主题。

与此同时,我建议切换到库的非缩小版本来调试您的特定问题,但在生产中将其切换出来。我不太理解。