我正在开发一个 Angular 应用程序。当尝试调试我的指令的链接函数时,我遇到了有关源映射的 Chrome 问题。
第一次加载页面时(由 Gulp 和 BrowserSync 触发),一切都非常美好:我可以看到浏览器化文件以及地图中的单个源文件。控制台中出现错误,因此我单击调用跟踪来探索它,正确的代码行将显示在源文件中 - 正如预期的那样。
问题是从在我的代码中设置断点并重新加载浏览器进行调试开始的。执行在断点处暂停 - 好的 - 但显然还没有加载源文件。相反,以前是源文件的地方,友好的绿色字母文本告诉我:
请稍等一下。 加载源图时不显示已编译的脚本!
这是正确的。我可以在源选项卡中看到它确实没有加载,但没有进一步发生任何事情(可能是由于断点)。
我以前从未有过这种行为。我不认为这是由于我的 Browserify 源映射造成的,而是我怀疑这是 Chrome 的问题。
在 Firefox 中,一切都按其应有的方式运行。但我更喜欢 Chrome 而不是 Firefox,所以...
你们中有人曾经遇到过这个问题或者知道可能是什么原因造成的吗?
我使用的 Chrome 版本是 41.0.2272.118 版本(提出这个问题时的当前版本)。
根据我的经验,在服务器端设置断点似乎会阻止 Chrome 执行其需要的操作,从而挂起:
Compiled script is not shown while source map is being loaded
结束调试会话/允许调试继续允许源解析。
我在 chrome devtool 中禁用了
Javacript source maps
并且能够调试它。