运行ng serve -prod时,运行会被混淆以减小大小并隐藏代码。这引起了崩溃报告工具(曾经尝试过的Sentry和Raygun)的问题,因为崩溃报告被混淆。是否有任何解决方案可以获取清晰的崩溃报告?我们可以上传某种文件以显示真正的代码,就像iOS中的DSYM一样?
是的,有一个答案。它称为源地图。请注意,我来自Raygun,只是要清楚:)
源地图提供了智能,以"放松"缩小,合并和混淆。
Raygun支持许多不同的方式:
- 我们会自动尝试从您的服务器中获取文件(由于您试图将其保密而可能无法使用)
- 将构建执行到我们的API时,您可以发送源地图文件。Raygun和您将有能力使用崩溃报告处理源地图,使其对其他人的秘密,但会给您人类可读的堆栈跟踪。当Raygun处理Raw Crash Report时,这会自动发生。
- 最后但不可扩展的是,您可以在Raygun的"源地图中心"中手动上传源地图(在崩溃报告侧栏项目下)。我不建议长期推荐它,因为它很容易忘记这样做,但是应该有助于测试。
最后,大多数进行混淆,合并和缩小的工具将具有一个标志,您可以提供指示它与JavaScript文件一起生成源地图文件。
如果您有任何问题并且正在使用Raygun,请在应用程序中使用"联系Raygun"链接拍摄笔记 - 我们几乎看到了源地图中可能存在的所有怪异问题:)
您可以在此处阅读有关Raygun如何管理源地图的更多信息:https://raygun.com/docs/workflow/source-maps
我希望有帮助。