我正在使用 webpack 构建、缩小和生成我的应用程序的源映射。工件通过 webpack-sentry-plugin 发送到 sentry.io。
javascript 代码从localhost:8080/js/app.js. 它包含//# sourceMappingURL=app.js.map在最后。Sourcemaps 在 Chrome devtools 上正常工作。
Sentry 的发布/工件包含以下文件:
js/app.js
js/app.js.map
无论如何,当 Sentry 记录错误时,堆栈跟踪来自缩小的文件。它没有使用源映射。
我的设置有什么问题?或者我应该提供哪些其他信息以获得帮助?
我在forum.sentry.io 上发布了这个问题,并从一个叫@benvinegar 的人那里得到了答案。
事情是这样的:在发送源映射/工件时,我们提供文件和文件名。如果源映射与缩小的 JS 文件一起上传到主机,则文件名是源映射所在的完整 URL。也就是说:如果我们缩小的 Javascript 位于www.example.com/js/app.js,那么源映射/工件文件名必须是www.example.com/js/app.js.map. 否则,~/js/app.js.map如果我们希望源映射应用于其他情况,例如在localhost:8080/js/app.js.
在我使用时webpack-sentry-plugin,只需将以下属性添加到插件中即可:
{
  plugins: [
    new SentryPlugin({
      filenameTransform: filename => '~/' + filename
    })
  ]
}
| 归档时间: | 
 | 
| 查看次数: | 3842 次 | 
| 最近记录: |