3

我的应用程序是用 expo 构建的,哨兵仪表板向我显示 2 个错误:

丢弃无效参数“类型”

找不到 app:///crna-entry.bundle 的源代码?平台=ios&dev=true&minify=false&hot=false&assetPlugin=%2FUsers%2FUser%2FDesktop%2Fpath%2Fto%2Fnode_modules%2Fexp。

因此,当我收到错误时,无法调试,因为我只有一个丑陋的内置 js。

有没有办法手动上传源博览会源代码。我应该将哪个文件发送给哨兵?

谢谢

4

1 回答 1

0

第一种方式

如果您使用博览会。你应该使用sentry-expo你可以在这里找到的包:sentry-expo

把这个钩子放到你的expo json (app.json)文件中

{
  "expo": {
    "hooks": {
      "postPublish": [
        {
          "file": "sentry-expo/upload-sourcemaps",
          "config": {
            "organization": "<your organization name>",
            "project": "<your project name>",
            "authToken": "<your auth token here>"
          }
        }
      ]
    }
}

  1. organization你可以在这里找到 名为“组织名称”的https://sentry.io/settings/
  2. project输入你的项目名称,你可以在这里找到: https ://sentry.io/organizations/ORGANIZATION_NAME/projects/
  3. authToken使用此 url https://sentry.io/api/创建一个 authToken

然后运行expo publish,它会自动上传源地图。

本地测试

确保您启用了博览会开发。添加行;

Sentry.enableInExpoDevelopment = true;
Sentry.config(publicDsn, options).install();

因此

在哨兵上,只有 ios,您可以看到发生错误的源代码。 在此处输入图像描述

但是:无法查看 ANDROID 的源代码

https://github.com/getsentry/react-native-sentry/issues/372

第二种方式(手动上传)

使用 API https://docs.sentry.io/platforms/javascript/sourcemaps/

curl -X POST \
  https://sentry.io/api/0/organizations/ORG_NAME/releases/VERSION/files/ \
  -H 'Authorization: Bearer AUTH_TOKEN' \
  -H 'content-type: multipart/form-data' \
  -F file=@script.min.js.map \
  -F 'name=~/scripts/script.min.js.map'
于 2019-05-16T06:35:33.707 回答