您现在的位置是:亿华云 > 数据库
Sentry 开发者贡献指南 - JavaScript SDK Minimal
亿华云2025-10-04 00:32:53【数据库】3人已围观
简介简介嵌入到应用程序中时使用配置client的最小Sentry SDK。它允许库作者添加对Sentry SDK的支持,而无需捆绑整个SDK或依赖于特定平台
简介
嵌入到应用程序中时使用配置 client 的最小 Sentry SDK。它允许库作者添加对 Sentry SDK 的支持,而无需捆绑整个 SDK 或依赖于特定平台。简单来说,它是 @sentry/node 或 @sentry/browser 等特定于平台的 SDK 库的亿华云计算公共基础部分。
Sentry JavaScript SDK Minimal
用法
要使用 minimal,您不必初始化 SDK。这应该由您库的用户处理。而是直接使用 @sentry/minimal 的导出函数添加面包屑或捕获事件:
import * as Sentry from @sentry/minimal;
// 为未来的高防服务器事件添加面包屑
Sentry.addBreadcrumb({
message: My Breadcrumb,
// ...
});
// 捕获异常、消息或手动事件
Sentry.captureMessage(Hello, world!);
Sentry.captureException(new Error(Good bye));
Sentry.captureEvent({
message: Manual,
stacktrace: [
// ...
],
});
请注意,虽然严格可行,但不鼓励干扰事件上下文。如果由于某种原因您的库需要注入上下文信息,请注意这可能会覆盖用户的上下文值:
// 设置用户信息、服务器托管标签和其他附加信息
Sentry.configureScope(scope => {
scope.setExtra(battery, 0.7);
scope.setTag(user_mode, admin);
scope.setUser({ id: 4711 });
// scope.clear();
});
测试用例
PASS test/lib/minimal.test.ts
Minimal
✓ Clear Scope (1ms)
✓ returns undefined before binding a client (1ms)
✓ returns the bound client (1ms)
✓ Calls function on the client (1ms)
✓ does not throw an error when pushing different clients (1ms)
✓ does not throw an error when pushing same clients
✓ custom carrier (1ms)
✓ withScope (2ms)
✓ setExtras (1ms)
✓ setTags (1ms)
✓ setExtra (1ms)
✓ setTag
✓ setUser (1ms)
✓ setContext (1ms)
Capture
✓ Return an event_id (4ms)
✓ Exception (1ms)
✓ Exception with explicit scope (1ms)
✓ Message (1ms)
✓ Message with explicit scope (1ms)
✓ Message with custom level (2ms)
✓ Event (1ms)
configureScope
✓ User Context (2ms)
✓ Extra Context (1ms)
✓ Tags Context (1ms)
✓ Fingerprint
✓ Level (1ms)
很赞哦!(6111)