21

我最近通过haxe 语言中的源调试发现了chrome中存在源映射。它允许在 chrome 浏览器中调试生成的 javascript,同时查看原始源代码中的错误原因。

有没有人为咖啡脚本编写了源映射生成器/咖啡脚本源可映射吗?

这将有助于调试由 coffeescript 生成的 javascript。

4

4 回答 4

26

Coffeescript 1.6 原生支持源映射。

使用“--map”或“-m”选项来启用它。或者,如果您使用 npm 编译器,则必须添加该sourceMap: true选项。

于 2013-03-06T17:52:11.723 回答
7
npm install -g coffee-script

应该将咖啡脚本安装为全局模块。通过键入检查版本> 1.6

coffee -v

如果您需要帮助,您可以使用。用它来查看下面使用的选项的含义

coffee -h

用于常规编译使用

coffee -mo script/ -cw src/

这应该会自动生成地图文件。我在编写代码时让它在终端中运行,每次保存时它都会编译。

已知错误:

当前的咖啡脚本编译器似乎无法处理不同的 /src 和 /script 目录。在地图文件中,您会发现源 = {filename} 而不是 {relative file path}。

解决方案:

  1. 将您的 .coffee 文件保存在与 .js 相同的目录中
  2. 在 .map 文件中手动修改源指令。这将在下次保存时再次被覆盖
于 2013-03-16T01:39:40.247 回答
5

这一直是 CoffeeScript 项目中的一个活跃问题(事实上,它早于源地图标准)。然而,目前还没有(完整的)CoffeeScript 源映射生成器。有关讨论,请参阅https://github.com/jashkenas/coffee-script/issues/558

源映射支持也是最近在 Kickstarter 上资助的“CoffeeScript Redux”编译器的目标之一(参见http://www.kickstarter.com/projects/michaelficarra/make-a-better-coffeescript-compiler)。那个项目才刚刚开始;您可以在https://github.com/michaelficarra/CoffeeScriptRedux观看

于 2012-06-08T03:02:18.830 回答
0

Ps,如果你在 vim 上,请使用:

au BufWritePost *.coffee silent make -m

它在文件保存时与源映射一起编译。当我想要一些随机缓冲区开始为我编译咖啡时,我发现它非常方便。

于 2014-04-06T12:19:43.363 回答