概述目标:在生产环境中上传匹配版本的Source Maps,让Sentry能够还原混淆后的错误堆栈。适用:React/Vue等前端应用,使用Webpack/Vite构建的产物。核心与实战构建开启Source Maps(Webpack示例):// webpack.prod.js
module.exports = {
mode: 'production',
devtool: 'source-map'
}
Sentry初始化(前端):import * as Sentry from '@sentry/browser';
Sentry.init({
dsn: 'https://<key>@sentry.io/<project>',
release: '[email protected]',
environment: 'production'
});
上传Source Maps(sentry-cli):sentry-cli releases new [email protected]
sentry-cli releases files [email protected] upload-sourcemaps ./dist --rewrite --url-prefix "~/" --validate
sentry-cli releases finalize [email protected]
示例关联提交记录:sentry-cli releases set-commits --auto [email protected]
手动触发测试错误:try { throw new Error('Test error') } catch (e) { Sentry.captureException(e) }
验证与监控版本匹配:确保前端`release`与上传的release一致;Sentry事件页显示Source Maps已解析。事件质量:监控错误率与影响用户数;通过`fingerprint`合并重复错误。隐私与合规:过滤PII字段与敏感URL参数,遵守隐私策略。常见误区构建未生成Source Maps或未`--rewrite`导致路径不匹配;需统一`url-prefix`并开启rewrite。`release`不一致导致Sentry无法关联;前端初始化与上传命令需同一版本号。将Source Maps公开到CDN引发泄露;应仅上传到Sentry并避免公开分发。结语通过Source Maps与版本治理,Sentry可准确还原前端错误栈,显著提升定位效率与用户体验质量。

发表评论 取消回复