我正在使用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 node
,brew install node
。它没有帮助。
那么还有什么可以更新/重新安装/清理/等等。解决这个问题?
Upd.3
嗯......这似乎是一种魔力。我用Ubuntu创建了一个纯虚拟机,在那里克隆了项目并构建它。在绝对纯净的环境中。相同的结果。
我不知道到底发生了什么,现在我想即使我重新安装操作系统,它也无济于事。也许,买一台新电脑可以解决问题,我不知道......
答案 0 :(得分:2)
出乎意料,但我找到了答案。
唯一的原因是source-map package,brunch
依赖关系。
我只尝试过最后两个版本的早午餐: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
被打破了。但这确实有效。