在 WebStorm 7 中调试时未命中 Typescript 断点

lke*_*e00 5 debugging breakpoints webstorm typescript

我正在使用 Typescript SDK 0.9.1.1 和 WebStorm 7。我有一个 .ts 文件,其中有一个文件观察器转换其 .js 和 sourcemap 文件。我还有一个 HTML 文件,如下所示...

<!DOCTYPE html>
<html>
<head></head>
<body>
    <p id="output">5</p>
    <script src="HelloWorld.js"></script>
    <script>
        var u = new Utils();
        document.getElementById('output').innerHTML = u.plusOne(5);
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

plusOne 函数仅接受数字(在本例中为 5)并返回该数字加一。我的页面、javascript 和 Typescript 工作正常,因为页面加载时显示“6”。

我可以在 .js 文件中设置断点,并且它们会被命中(向我显示 Typescript 文件的等效行),但如果我在原始 .ts 文件中设置断点,它们就不会被命中。我已经搜索过这个问题,但我的问题似乎与其他人不同 - 我在本地运行(而不是远程),并且我在 WebStorm 中设置断点,而不是 Chrome 的调试视图。

在 WebStorm 中,“脚本”选项卡仅显示 .js 和 .html 文件。我应该在这里看到更多吗?如果这是问题所在,我该如何解决?我已打开调试配置,但没有找到在那里添加 .ts 文件的方法。

Mat*_* M. 7

你们中的一些人可能是从 Google 来到这里的:

我所要做的就是确保按照我的方式sourceMap设置:truetsConfig.json

{
  ...
  "compilerOptions": {
    ...
    "sourceMap": true,
    ...
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)


lke*_*e00 1

事实证明,这是由于WebStorm 中的一个未解决的错误造成的。实际上,解决方法是从浏览器重新加载 HTML 页面(这与从 WebStorm 以调试模式重新运行 HTML 页面不同)。如果这样做,则将命中 .ts 文件中的断点。