我通过 r.js(requirejs 的一部分)将我所有的 JS 资产捆绑到一个缩小的 uglified 文件中。
如果浏览器上出现任何未处理的错误,我会使用 raygun(如 Airbrake)将其报告给我。唯一的问题是我在错误消息中得到的行号,指的是捆绑的缩小文件。这没有多大帮助。
有没有办法将我的单个缩小和丑化捆绑资产的行号正确映射到具有正确行号的单个 JS 文件中?
我通过 r.js(requirejs 的一部分)将我所有的 JS 资产捆绑到一个缩小的 uglified 文件中。
如果浏览器上出现任何未处理的错误,我会使用 raygun(如 Airbrake)将其报告给我。唯一的问题是我在错误消息中得到的行号,指的是捆绑的缩小文件。这没有多大帮助。
有没有办法将我的单个缩小和丑化捆绑资产的行号正确映射到具有正确行号的单个 JS 文件中?
您需要做的第一件事是r.js
生成捆绑包的源映射。为此,在您传递给您的选项中,r.js
您需要将选项generateSourceMaps
设置为 true,并且您必须将optimize
选项设置为"uglify2"
或
在 r1592(20111114 版本)之后构建带有闭包编译器 jar 的“闭包”。
(我从这个文档中引用。)我已经使用优化设置完成了它,"uglify2"
并且能够在 Chrome 中获得对原始源代码的体面引用。
日志服务也必须支持它。raygun 论坛上的这篇帖子表明 raygun 尚不支持源地图。
有人在 github 上创建了一个这样的服务列表作为要点。一些服务被标记为支持源地图。我不能保证它的准确性,但它可能是寻找支持它的服务的一个很好的起点。