我正在尝试在Chrome中使用TypeScript源代码调试,但我遇到了两个特定的问题,也许是相关问题。
第一个是由TypeScript / WebEssentials编译器生成的用于标识源映射文件位置的注释如下所示:
//sourceMappingUrl=MySourceFile.js.map
但Chrome不会读取该文件。似乎期望评论看起来像这样:
//@ sourceMappingUrl=MySourceFile.js.map
如果我手动将评论更改为该页面,并刷新我的页面,那么奇怪的是,所有.ts文件的引用都会显示为Chrome开发者工具中的来源。
然而,这导致了我的第二个问题,因为文件实际上没有被加载。 Chrome 应尝试下载的.ts源文件是http://localhost/MySourceFile.ts
,但实际尝试下载的文件是http://localhost/C:/source/web/MySourceFile.ts
。这是有道理的,因为MySourceFile.js.map的开放属性如下所示:
{"version":3,"file":"tmp1523.tmp","sources":["C:/source/web/MySourceFile.ts"
但这显然不适用于Chrome,因为它将源地图位置解释为完全相对,而IIS(非常正确)不会提供任何类似http://localhost/C:/source/web/MySourceFile.ts
的网址。
因此,关于这两个问题,Chrome或TypeScript源地图功能是否做错了?建议的方法是什么?
我正在使用Chrome 25.0.1323.1 dev-m,TypeScript 0.8.1和WebEssentials 1.8.5。
答案 0 :(得分:3)
这是Web Essentials版本1.8.5的问题(Visual Studio Gallery目前提供的版本)。最新的每晚构建(在编写http://madskristensen.net/custom/webessentials2012.vsix时)修复了问题并正确生成了地图链接。