一个最小的SentrySDK,用于在嵌入应用程序时配置客户端。它允许库作者添加对SentrySDK的支持,而无需捆绑整个SDK或依赖于特定平台。简单来说,它是特定于平台的SDK库(如@sentry/node或@sentry/browser)的公共基础部分。SentryJavaScriptSDKMinimalhttps://github.com/getsentry/sentry-javascript/tree/master/packages/minimal用法要使用minimal,您不必初始化SDK。这应该由您图书馆的用户处理。相反,直接使用@sentry/minimal来添加面包屑或捕获事件:import*asSentryfrom'@sentry/minimal';//addBreadcrumbsforfutureeventsSentry.addBreadcrumb({message:'MyBreadcrumb',//...});//捕获异常、消息或手动事件Sentry.captureMessage('Hello,world!');Sentry.captureException(newError('Goodbye'));Sentry.captureEvent({message:'Manual',stacktrace:[//...],});请注意,虽然完全可能,但不鼓励干扰事件上下文。如果出于某种原因你的库需要注入上下文信息,请注意这可能会覆盖用户的上下文值://设置用户信息、标签和其他附加信息Sentry.configureScope(scope=>{scope.setExtra('battery',0.7);scope.setTag('user_mode','admin');scope.setUser({id:'4711'});//scope.clear();});测试用例通过测试/lib/minimal。test.tsMinimal?ClearScope(1ms)?在绑定客户端之前返回undefined(1ms)?返回绑定的客户端(1ms)?在客户端调用函数(1ms)?在推送不同的客户端时不抛出错误(1ms)?推送相同客户端时不会抛出错误?自定义运营商(1ms)?withScope(2ms)?setExtras(1ms)?setTags(1ms)?setExtra(1ms)?setTag?setUser(1ms)?setContext(1ms)Capture?返回一个event_id(4ms)?Exception(1ms)?ExceptionwithexplicitScope(1ms)?Message(1ms)?Messagewithexplicitscope(1ms)?Messagewithcustomlevel(2ms)?Event(1ms)configureScope?UserContext(2ms)?额外上下文(1ms)?标签上下文(1ms)?指纹?级别(1ms)
