将JS错误行号映射到未明确的非捆绑资产文件

时间:2013-11-02 09:05:07

标签: javascript requirejs runtime-error bundling-and-minification r.js

我通过r.js(requirejs的一部分)将我的所有JS资产捆绑到一个缩小的uglified文件中。

如果浏览器出现任何未处理的错误,我会使用raygun(如Airbrake)向我报告。唯一的问题是我在错误消息中得到的行号,是指捆绑的缩小文件。这对你没什么帮助。

有没有办法正确地将我的单个缩小和uglified捆绑资产的行号映射到具有正确行号的单个JS文件?

1 个答案:

答案 0 :(得分:0)

您需要做的第一件事是r.js生成捆绑包的源地图。为此,在您传递到r.js的选项中,您需要将generateSourceMaps选项设置为true,并且必须将optimize选项设置为"uglify2"

  在r1592(20111114发布)之后使用闭包编译器jar构建的

“closure”。“

(我引用了this documentation。)我已经将优化设置为"uglify2",并且能够在Chrome中获得对原始源代码的正确引用。

日志记录服务也必须支持它。在raygun论坛上这个post结束表明,raygun还不支持源地图。

有人在github上创建了一个list of such services作为要点。一些服务被标记为支持源地图。我无法保证其准确性,但它可能是找到支持它的服务的良好起点。