运行 ng serve -prod 时,会混淆运行以减小大小并隐藏代码。这导致崩溃报告工具(尝试过的哨兵和射线枪)出现问题,因为崩溃报告被混淆了。是否有任何解决方案可以获得清晰的崩溃报告?我们可以像 iOS 中的 dSYM 一样上传某种文件来显示真实代码吗?
问问题
121 次
1 回答
1
是的,有一个答案。它被称为源映射。请注意,我来自 Raygun,只是为了清楚:)
源映射提供了“展开”缩小、合并和混淆的智能。
Raygun 支持许多不同的方式:
- 我们会自动尝试从您的服务器获取文件(可能不会在这里工作,因为您试图保密)
- 您可以在构建时将源映射文件发送到我们的 API。Raygun 和您将能够使用崩溃报告处理源映射,对其他人保密,但为您提供人类可读的堆栈跟踪。这会在 Raygun 处理原始崩溃报告时自动发生。
- 最后,但不可扩展的是,您可以在 Raygun 的“源地图中心”中手动上传源地图(在崩溃报告侧栏项目下)。我不建议长期使用它,因为它很容易忘记这样做,但是它应该有助于测试。
最后,大多数进行混淆、合并和缩小的工具都会有一个你可以提供的标志,指示它在你的 javascript 文件旁边生成一个源映射文件。
如果您有任何问题并且正在使用 Raygun,请在应用程序中使用“联系 Raygun”链接给我们留言——我们已经看到了源地图中可能存在的几乎所有奇怪问题 :)
您可以在此处阅读有关 Raygun 如何管理源地图的更多信息:https ://raygun.com/docs/workflow/source-maps
我希望这会有所帮助。
于 2017-11-27T19:41:33.073 回答