我正在使用Microsoft Visual Studio 2013 Update 4来调试Web应用程序。首先,我在Internet Explorer上运行Web应用程序,然后使用Visual Studio中的“附加到进程”调试选项来附加iexplore脚本进程。然后,我立即在解决方案资源管理器中获得一个名为“Script Documents”的新节点。在该节点中,我找到了所有的JavaScript文件以及列出的各自的打印文件。从此,我可以打开JavaScript文件并设置断点。不幸的是,我无法为打字稿文件做同样的事情。试图打开它时,出现'404未找到'错误。仔细观察后,我发现用于检索它们的URL路径是错误的。因此,我开始检查源文件的路径是否在编译打字稿文件时生成的源地图中正确设置。它看起来像是正确设置的。我检查源地图是否正确的一种方法是使用开发工具在Internet Explorer和Chrome上进行调试。他们的工作完美无瑕。因此,我唯一可以得出的结论是,当Visual Studio连接到IE时,源映射解释发生了一些情况。Visual Studio使用源映射进行调试
为了正确阐明这一点,让我简单地解释我的源地图是怎样的。下面你会发现我的源地图文件的模板。
{
version : 3,
file : "someFile.js",
sourceRoot : "/",
sources : ["some/relative/path/someFile.ts"],
names : ["bla", "bla", "bla"],
mappings: "aaaG,agAA,agGG,acAA"
}
所以,我期待看到在脚本文件节点是打字稿文件的路径(如果我们假设web应用程序是在本地主机上运行):http://localhost:8081/some/relative/path/someFile.ts
而是我看到的路径是:http://localhost:8081/(AbsolutePathToWhereTheJSFileIs)/some/relative/path/someFile.ts
这终于明白我为什么在阅读文件时出错。我不明白为什么在它们之间插入绝对路径,而在我的源地图规范中没有指示。我尝试了很多其他路径变体,但保持脚本的目录的绝对路径总是在中间弹出。我甚至在寻找可能会关闭它的设置(如果有的话),但我无法找到任何设置。对于我面临的这个问题,我将不胜感激。
干杯!
另请参阅此问题:http://stackoverflow.com/questions/29342738/debugging-minified-javascript/36304724#36304724 – 2016-03-30 10:54:50