Sentry + Vue3 + vite 上传sourcemap定位报错位置

1,773 阅读1分钟

Sentry官网教程

操作步骤--如何上传map文件
问题查询--上传报错问题查找解决方案

安装插件

npm install --save @sentry/vite-plugin

配置vite-config.ts

eg: image.png 代码配置

import { sentryVitePlugin } from '@sentry/vite-plugin'
// 在vite的plug中添加下面的插件代码
sentryVitePlugin({
    url: 'https://sentry.******.com/', // 默认sentry的后台地址,可以不配置。如果搭建的有个人版的sentry,填写搭建的地址
    org: '****', // 组织
    project: '****', // 项目
    release: { name: 'sentry001', uploadLegacySourcemaps: { paths: ['dist'] } }, // 版本
    sourcemaps: {
      assets: 'dist/assets/**',
      ignore: ['node_modules'],
      filesToDeleteAfterUpload: 'dist/**/*.map',
    },
    authToken: '******************4efb48c3a508fb942f94016f', // 秘钥
})

这里配置较多,因为个人搭建的sentry后台版本太低,使用的sentry版本过高。打包提示release not found。
提示需要如此配置

tips:

url: sentry后台的网址
authToken: image.png 必须勾选这个
image.png 旧版本后台需要在 设置 --组织 -- 开发设置 中配置
org
image.png project 就是你当前创建的项目的名字
同时打包生成map文件的配置也需要加上,不然你上传个锤子

结尾

执行打包命令 npm run build
代码打包结束,会把map文件上传到sentry后台。同时会删除dist包里面的map文件。
可以在sentry后台中查看,如图: image.png

本地的dist包。可以安装http-server插件,模拟上线的情况。触发错误代码,就会在sentry中看到信息,同时也能锁定错误代码的位置。如图: image.png
本地代码运行,触发错误,好像sentry不会发送错误警告。我是运行dist包,模拟上线。才会上传错误。