【问题标题】:CoffeeScript sourcemaps points to wrong filesCoffeeScript sourcemaps 指向错误的文件
【发布时间】:2014-08-14 13:38:47
【问题描述】:

我正在使用 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 中。 我已经尝试过从1.3.3 开始的所有coffee-script 版本,以及从1.4.0 开始的coffee-script-brunch。我所拥有的只是堆栈跟踪中的行号有点不同 - 但它们仍然错误

更有趣的是,在一个包含三个模块的测试项目中,所有模块都能完美运行——stacktrace 正好指向引发错误的行。在大项目上一切都是错误的。我不明白这是怎么回事。

更新.2

好吧,我发现源映射编译错误。

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

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

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

更新.3

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

结果相同

我不知道到底发生了什么,现在我想即使我重新安装操作系统也无济于事。或许,买个新电脑能解决问题,我不知道……

【问题讨论】:

    标签: coffeescript source-maps brunch


    【解决方案1】:

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

    唯一的原因是在source-map package 中,即在brunch 依赖项中。

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

    这是万恶之源。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 2020-05-05
      • 1970-01-01
      • 2020-09-11
      • 2018-11-12
      相关资源
      最近更新 更多