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

基于React创建的Sentry项目在Gatsby配置后无法捕获错误如何解决

Sentry Gatsby项目错误无上报排查方案
  • 确认gatsby-config.js中Sentry插件的核心配置完整性,DSN、环境标识、版本号为必填参数,Sentry默认过滤本地开发环境的上报,需要在插件配置中显式添加enabled: true开启本地测试上报,也可以直接执行gatsby build && gatsby serve启动生产环境服务后再测试。
  • Gatsby开发模式(gatsby develop)自带React开发错误遮罩层,会优先于自定义的ErrorBoundary捕获错误,此时错误不会传递到Sentry的监听链路,这是绝大多数配置正确但无上报的核心原因。
  • 检查依赖版本匹配度,确保@sentry/react和你使用的Sentry Gatsby插件(gatsby-plugin-sentry/@sentry/gatsby)的主版本号一致,版本跨度过大可能导致上报链路断裂。
  • 可以在ErrorBoundary中添加手动上报逻辑兜底,修改error-boundary.js代码如下:
import React from 'react';
import { ErrorBoundary, captureException } from '@sentry/react';
import { Link } from 'gatsby';

const FallBack = ({ error, resetError }) => {
  // 手动触发错误上报
  captureException(error);
  return (
    <div role="alert">
        <p>Something went wrong:</p>
        <pre>{error.message}</pre>
        <Link to="/" onClick={resetError}>
            <a>Try again</a>
        </Link>
    </div>
  );
};

const ErrorBoundaryContainer = ({ children }) => {
    return <ErrorBoundary fallback={FallBack}>{children}</ErrorBoundary>;
};

export default ErrorBoundaryContainer;
  • 触发错误后打开浏览器网络面板,检查发往Sentry服务端的请求是否被浏览器插件、防火墙、站点CSP策略拦截。

内容的提问来源于stack exchange,提问作者Ashutosh rai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:18:02