Angularjs 混淆导致崩溃报告出现问题

Angularjs Obfuscation causing issue on Crash reporting

当运行ning ng serve -prod时,运行被混淆以减小大小并隐藏代码。这导致崩溃报告工具(尝试过 sentry 和 raygun)出现问题,因为崩溃报告被混淆了。有什么解决方案可以获得清晰的崩溃报告吗?我们可以上传某种文件来显示真实代码,就像 iOS 中的 dSYM 一样吗?

是的,有答案。它被称为 source maps。请注意,我来自 Raygun,请注意:)

源映射为 'unwind' 缩小、合并和混淆提供了智能。

Raygun 支持多种不同的方式:

  1. 我们会自动尝试从您的服务器获取文件(可能不会在这里工作,因为您试图保密)
  2. 您可以在构建时将源映射文件发送到我们的API。 Raygun 和您将能够处理带有崩溃报告的源映射,对其他人保密,但为您提供人类可读的堆栈跟踪。当 Raygun 处理原始崩溃报告时,这会自动发生。
  3. 最后,但不可扩展的是,您可以在 Raygun 的 'source map center' 中手动上传源映射(在崩溃报告侧栏项下)。我不推荐长期这样做,因为它很容易忘记这样做,但是它应该有助于测试。

最后,大多数进行混淆、合并和缩小的工具都有一个标志,您可以提供该标志来指示它在您的 javascript 文件旁边生成一个源映射文件。

如果您在使用 Raygun 时遇到任何问题,请在应用程序中使用 'Contact Raygun' link 给我们留言——我们已经看到了源地图中可能存在的几乎所有奇怪问题:)

您可以在此处详细了解 Raygun 如何管理源地图:https://raygun.com/docs/workflow/source-maps

希望对您有所帮助。