CoffeeScript源图指向错误的文件

时间:2014-06-24 10:21:27

标签: coffeescript source-maps brunch

我正在使用brunch@1.7.14和coffee-script-brunch@1.8构建咖啡脚本项目,并使用所有默认设置。

然后我运行一个项目并在深处某处出现错误。

当我想要堆栈跟踪时,我看到这样的事情:

module.exports.View.render          jquery.idle-timer.js:24
module.exports.View.afterInitialize jquery.center.js:51
instance.(anonymous function)       jquery.center.js:7
Backbone.View                       jquery-ui.js:1878
View                                jquery.center.js:23

这是多么疯狂?

预计右侧的链接指向app / some / path / view.coffee,而不是jquery插件(在这种特定情况下甚至没有使用)。

如何解决?

更新。

这种情况发生在Chrome和Safari中。 我已经尝试了从coffee-script开始的所有1.3.3个版本,以及从coffee-script-brunch开始的1.4.0版本。我所拥有的只是stacktrace中的一些不同的行号 - 但它们仍然错误

更有趣的是,在具有三个模块的测试项目中,所有工作都很完美 - stacktrace指向一条引发错误的行。大项目都错了。我不明白这是怎么回事。

Upd.2

好吧,我发现源码编译错了。

当我在另一台计算机上使用相同版本的所有软件包构建相同项目,然后将源代码编译到我的计算机时 - 所有工作都很完美。

正如我上面提到的,我已经尝试重新安装所有可能涉及的软件包。我甚至尝试以简单的方式重新安装Node.js - brew uninstall nodebrew install node。它没有帮助。

那么还有什么可以更新/重新安装/清理/等等。解决这个问题?

Upd.3

嗯......这似乎是一种魔力。我用Ubuntu创建了一个纯虚拟机,在那里克隆了项目并构建它。在绝对纯净的环境中。

相同的结果

我不知道到底发生了什么,现在我想即使我重新安装操作系统,它也无济于事。也许,买一台新电脑可以解决问题,我不知道......

1 个答案:

答案 0 :(得分:2)

出乎意料,但我找到了答案。

唯一的原因是source-map packagebrunch依赖关系。

我只尝试过最后两个版本的早午餐:1.7.13和1.7.14。它们都需要source-map版本~0.1.26。无论您在哪里安装早午餐,现在都解决了0.1.34

这是邪恶的根源。

我实际上做的是直接在全局brunch/node_modules文件夹中手动替换0.1.33和0.1.33。

就是这样。在此之后,一切都神奇地修复了,我的源图再次指向右侧。

不知道为什么会这样 - 也许,source-map@0.1.34被打破了。但这确实有效。