You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vanilla.js项目集成Sentry异常处理遇Sentry未定义错误求助

问题解决:Sentry未定义且库未加载

核心问题:你把Sentry的DSN地址当成了SDK脚本的URL来引入,这是完全错误的——DSN是用来上报数据的地址,不是SDK的资源文件地址,所以浏览器根本找不到可加载的脚本文件,自然会报错Sentry is not defined。

修复步骤:

  • 替换正确的Sentry Browser SDK脚本:
    你需要引入Sentry官方提供的浏览器SDK脚本,而不是DSN。从你的初始化代码看,你用到了BrowserTracing,推荐引入包含所有集成的bundle版本。把head里的错误script替换成:

    <script src="https://browser.sentry-cdn.com/7.112.0/bundle.min.js" crossorigin="anonymous"></script>
    

    注:可以从Sentry项目的「设置 > 项目 > 你的项目 > 错误监控 > 浏览器」页面复制最新的官方引入代码,确保版本和完整性校验正确。

  • 确保初始化代码顺序正确:
    你的初始化代码放在body末尾没问题,但必须保证它在Sentry SDK脚本加载完成之后执行。现在的位置是对的,只要替换了正确的SDK脚本,就能正常找到Sentry对象。

  • 补充:BrowserTracing的调用修正:
    初始化代码里的BrowserTracing要加上Sentry前缀,写成new Sentry.BrowserTracing(),否则会出现BrowserTracing is not defined的额外错误。

修正后的关键代码片段:

<head>
  <!-- 其他head内容保持不变 -->
  <!-- 替换为正确的Sentry SDK脚本 -->
  <script src="https://browser.sentry-cdn.com/7.112.0/bundle.min.js" crossorigin="anonymous"></script>
  <script src="js/vendor/modernizr-2.6.2.min.js"></script>
</head>

<body>
  <!-- 其他body内容保持不变 -->
  <script>
    Sentry.init({
      dsn: "https://1aa7cf70cefa4e7a8291ae243df33e10@o316195.ingest.sentry.io/4504791267082240",
      integrations: [new Sentry.BrowserTracing()],
      tracesSampleRate: 1.0,
    });
  </script>
  <script src="js/init.js"></script>
</body>

内容的提问来源于stack exchange,提问作者Asad Rahman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:42:46