7

我正在尝试让 TypeScript 源代码调试在 Chrome 中工作,但我遇到了两个特定且可能相关的问题。

首先是由 TypeScript/WebEssentials 编译器生成的注释应该识别源映射文件的位置,如下所示:

//sourceMappingUrl=MySourceFile.js.map

但 Chrome 不会读取该文件。似乎期望评论将如下所示:

//@ sourceMappingUrl=MySourceFile.js.map

如果我手动将评论更改为该评论并刷新我的页面,那么对所有 .ts 文件的引用就会神奇地显示为 Chrome 开发人员工具中的源代码。

但是,这导致了我的第二个问题,因为文件实际上并没有被加载。Chrome应该尝试下载的 .ts 源文件是 .ts http://localhost/MySourceFile.ts,但它实际尝试下载的是.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 source-map 功能做错了呢?这样做的推荐方法是什么?

我正在使用 Chrome 25.0.1323.1 dev-m,TypeScript 0.8.1 和 WebEssentials 1.8.5。

4

1 回答 1

3

这是Web Essentials 1.8.5版(当前可从 Visual Studio 库中获得的版本)的问题。最新的夜间版本(在撰写本文时http://madskristensen.net/custom/webessentials2012.vsix)修复了问题并正确生成地图链接。

于 2012-11-26T17:53:03.213 回答