1

我正在尝试使用 Webstorm 和 Chrome 调试咖啡脚本代码。编译和源映射生成由coffee-script-redux完成。

main.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="main.js"></script>
</head>
<body>Hello World!</body>
</html>

主咖啡

f = 1

main.js

// Generated by CoffeeScript 2.0.0-beta7
void function () {
  var f;
  f = 1;
}.call(this);

//# sourceMappingURL=main.js.map

main.js.map

{
    "version":3,
    "file":"unknown",
    "sources":["stdin"],
    "names":["f"],
    "mappings":"AAAA;;;EAAAA,CAAA,GAAI"
}

当我打开 main.html 并单击“调试 main.html”时,它将在 Chrome 中打开页面(JetBrains IDE Support chrome extension 与 Webstorm 连接)。但是 coffescript 文件中的断点没有被命中,并且红圈上没有箭头。

注意:我可以毫无问题地调试生成的 javascript 文件。

使用 Webstorm 7.0.2、Chrome 31.0.1650.48 m、JetBrains IDE 支持 1.27

4

1 回答 1

0

请使用标准的coffeescript编译器而不是redux - 如果涉及源映射,它会做得更好。这是用它制作的地图的样子:

{
  "version": 3,
  "file": "main.js",
  "sourceRoot": "",
  "sources": [
    "main.coffee"
  ],
  "names": [],
  "mappings": ";AAAA,CAAA,GAAA;;AAAA,CAAA,EAAI"
}

'files' 和 'sources' 都是已知的,而且生成的 URL 注释更符合规范

另请注意,由于已知问题,代码中的断点在 WebStorm 7 中不起作用:源映射支持的断点在页面加载之前不起作用。该问题已在 WebStorm 8 每日构建中得到修复。请投票给http://youtrack.jetbrains.com/issue/WEB-6413以获取任何更新通知

于 2013-11-13T12:26:30.420 回答