CoffeeScript sourcemaps指向错误的文件
我正在与您一起构建咖啡脚本项目brunch@1.7.14还有咖啡剧本-brunch@1.8,具有所有默认设置 然后,我运行了一个项目,在某个深处发现了一个错误 当我查看stacktrace时,我看到如下内容:CoffeeScript sourcemaps指向错误的文件,coffeescript,source-maps,brunch,Coffeescript,Source Maps,Brunch,我正在与您一起构建咖啡脚本项目brunch@1.7.14还有咖啡剧本-brunch@1.8,具有所有默认设置 然后,我运行了一个项目,在某个深处发现了一个错误 当我查看stacktrace时,我看到如下内容: module.exports.View.render jquery.idle-timer.js:24 module.exports.View.afterInitialize jquery.center.js:51 instance.(anonymous function)
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插件(在本例中甚至没有使用)
如何修复它
Upd.
这发生在Chrome和Safari中。
我已经尝试了从1.3.3
开始的所有coffee script
版本,以及从1.4.0
开始的coffee script早午餐。我所知道的只是stacktrace中的行号有点不同,但它们仍然是错误的
更有趣的是,在一个包含三个模块的测试项目中,所有模块都可以完美地工作——stacktrace精确地指向抛出错误的一行。在大项目上,一切都是错误的。我不明白这怎么可能
Upd.2
嗯,我发现sourcemaps被编译错了
当我在另一台计算机上使用相同版本的所有软件包构建同一个项目,然后将在那里编译的sourcemaps放到我的计算机上时,所有的工作都很完美
正如我在上面注意到的,我已经尝试重新安装这里可能涉及的所有软件包。我甚至尝试以简单的方式重新安装Node.js-brew卸载节点
,brew安装节点
。这没用
那么,还有什么可以更新/重新安装/清理等来解决此问题
Upd.3
嗯。。。这似乎是一种魔力。我用Ubuntu创建了一个纯虚拟机,在那里克隆了一个项目并构建了它。在绝对纯净的环境中
具有相同的结果
我不知道到底发生了什么,现在我想即使我重新安装操作系统,也不会有帮助。也许,买一台新电脑可以解决这个问题,我不知道…出乎意料,但我已经找到了答案
唯一的原因是在,这是在早午餐
依赖项中
我只试过最后两个版本的早午餐:1.7.13和1.7.14。它们都需要源代码映射
版本~0.1.26
。现在,无论您在哪里安装早午餐,它都被解析为0.1.34
这是邪恶的根源
我实际做的是手动将0.1.34替换为0.1.33,直接放在全局早午餐/node_modules
文件夹中。
就这样。在这之后,一切都神奇地修复了,我的源地图再次指向正确的线条
不知道为什么会这样-也许,source-map@0.1.34
已损坏。但这确实有效