使用sentry上传sourcemap_sentry sourcemap-程序员宅基地

技术标签: node.js  浏览器  webpack  我爱学习  前端  前端性能  前端监控  sentry  

一个配置项成功上传soucemap文件到sentry

之前用的fundebug 很好用,但是收费,在掘金发现了sentry这个好用的监控平台。部署的就不说了,可以使用官方提供的,但是错误数量显示5000以内,超过就不能用了,一般都是公司自己部署,这篇文章主要记录使用sentry上传sourcemap遇到的一些问题。

因为使用的vue开发,所以为了方便使用的插件是:@sentry/webpack-plugin

前面项目引入的就不多说了:

import * as Sentry from '@sentry/vue'
import { Integrations } from '@sentry/tracing
if(process.env.NODE_ENV==='production'){
    Sentry.init({
        app,
        dsn: "https://[email protected]/6487100",
        integrations: [
            new BrowserTracing({
                routingInstrumentation: Sentry.vueRouterInstrumentation(router),
                tracingOrigins: ["localhost", "my-site-url.com", /^\//],
            }),
        ],
        // Set tracesSampleRate to 1.0 to capture 100%
        // of transactions for performance monitoring.
        // We recommend adjusting this value in production
        tracesSampleRate: 1.0,
        release: process.env.SENTRY_RELEASE,
    });
}

因为我发现在开发的时候引入sentry,会导致控制台输出的内容不能指定到所在行,所以就加了打包限制。只有打包的时候才引入。

很多文档上面写的需要生成.sentryclirc文件,我感觉完全不需要。

直接在vue.config.js里面引入:

const SentryCliPlugin = require('@sentry/webpack-plugin')

然后就是plugins里面填写配置即可:

pluginsConf.push(new SentryCliPlugin({
    authToken: you token,
    url: 'https://sentry.io/',
    org: "org111",
    include: './malldist',
    project: 'mall',
    ignoreFile: '.gitignore',
    ignore: ['node_modules'],
    // configFile: 'sentry.properties',
    release: process.env.SENTRY_RELEASE, // 对应main.js版本号
    // cleanArtifacts: true, // 先清理再上传
  }))

这个参数的配置文档都有说明,我是用的sentry.io基础版本的。地址就直接是默认的

文档地址:https://github.com/getsentry/sentry-webpack-plugin

然后打包就可以自动上传sourcemap文件了:然后就是上传线上的时候删除map文件。

Tap:

看了很多删除sourcemap的插件,都感觉不好用,分享一下我删除的方法:

1.首先是我在项目中使用了UglifyJsPlugin这个插件,打包的话会删除soucemap文件,所以就用了他的功能来实现,

2.修改page.json

 "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "sentry": "vue-cli-service build --mode sentry",
    "lint": "vue-cli-service lint"
  },

增加sentry命令,用于打包并上传sourcemap文件:

3.修改vue.config.js

if (process.env.NODE_ENV === 'production' && process.env.NODE_TYPE === 'production') {
  pluginsConf.push(new UglifyJsPlugin({
    uglifyOptions: {
      output: {
        comments: false,
        // 去掉注释
      },
      compress: {
        // warnings: false,
        drop_console: true,
        drop_debugger: false,
        pure_funcs: ['console.log']
        // 移除console
      }
    }
  }))
}
if (process.env.NODE_ENV === 'production'&& process.env.NODE_TYPE === 'sentry') {
  pluginsConf.push(new SentryCliPlugin({
    同上
  }))
}

通过不同的环境变量env.NODE_ENV来区分,本来想直接设置sentry的环境变量为sentry,但是一直不能生成sourcemap文件,只能在NODE_ENV为production的时候才能生成,所以创建env.sentry 文件,通过sentry命令选择这个文件,然后里面设置变量:

NODE_ENV=production
NODE_TYPE=sentry

其他mode下面,设置的NODE_TYPE为production,至此成功上传soucemap文件到sentry服务器,自己配置的服务器同理:

打包操作如下:

npm run sentry
上传到sentry
npm run build
将生成的文件上传到服务器

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36893984/article/details/125265233

智能推荐

DRL:强化学习-Q-Learning算法_dqlearn-程序员宅基地

文章浏览阅读289次。文章目录强化学习Q-Learning算法1. 问题及原因2. Estimator原理与思想(1)单估计器方法(Single Estimator)(2)双估计器方法(Double Estimator)强化学习论文发表在国际顶级期刊《Science》上,2016.3,透过自我对弈数以万计盘进行练习强化,AlphaGo在一场五番棋比赛中4:1击败顶尖职业棋手李世石。2016.12,Master(AlphaGo版本)开始出现于弈城围棋网和腾讯野狐围棋网,取得60连胜的成绩,以其空前的实力轰动了围棋界。Deep_dqlearn

Linux 系统指定程序运行的显卡_mc linux 独显-程序员宅基地

文章浏览阅读3.3k次,点赞7次,收藏19次。一般租的服务器会有多张显卡,为了资源最大化利用同时运行程序,如果不指定显卡运行会导致多个程序抢占一张显卡运行,然后报错内存占满。我们先查看系统有多少张显卡,每张显卡的运行状态:nvidia-smi在终端输入上面的指令得到下面的结果,显示了系统安装的所有显卡和每张卡当前的状态,比如显卡0当前使用率为81%,已经比较接近占满了。我们观察到1,2,3,4,5都没程序使用,于是指定其中几张,指令如下CUDA_VISIBLE_DEVICES=3,4,1 python train.py意思为同时用显卡_mc linux 独显

《J2EE 学习笔记 之 idea 搭建 SSM 项目》_j2ee用ssm-程序员宅基地

文章浏览阅读114次。J2EE 学习笔记 之 idea 搭建 SSM 项目详细步骤step1step2_j2ee用ssm

大数据学习笔记之azkaban(一):azkaban_azkaban executor.maxthreads-程序员宅基地

文章浏览阅读840次。文章目录一 概述1.1为什么需要工作流调度系统1.2 常见工作流调度系统1.3 各种调度工具特性对比1.4 Azkaban与Oozie对比二 Azkaban介绍三..._azkaban executor.maxthreads

上传maven 项目到私有仓库_上传maven项目到私有仓库-程序员宅基地

文章浏览阅读1.8k次。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch_上传maven项目到私有仓库

金字塔型php的9x9乘法口诀表,python中打印金字塔和九九乘法表的几种方法-程序员宅基地

文章浏览阅读733次。# 打印九九乘法表for i in range(1,10):for j in range(1,i+1):# x=i*j# print(i,'*',j,'=',x,end=' ')print('%s*%s=%s' %(i,j,i*j),end=' ') # end=' '表示不换行,只是加个空格print() # 单纯换行for i in range(1,10):for j in range(i..._使用php的循环嵌套做出九九乘法表金字塔

随便推点

HTTP的并发下载 Accept-Ranges-程序员宅基地

文章浏览阅读6.1k次。主要讲三个方面,如何HTTP的并发下载、通过Golang进行多协程开发、如何断点续传。想要并发下载,就是把下载内容分块,然后并行下载这些块。这就要求服务器能够支持分块获取数据。大迅雷、电驴这种都有自己的协议,thunder://这种,我们只研究原理,就说说HTTP协议对于并发的支持。_accept-ranges

python检查字符串中是否有中文字符并替换该中文字符_检测字符串是否有中文标点符号并替换 python-程序员宅基地

文章浏览阅读3.6k次。from glob import globimport osfloder="D:/DataSet/wuzuo/Quality_Gate_Mask/v1.0_vis/*"for i in glob(floder): for j in glob(i+"/*.jpg"): ss = "" for ch in j: if u'\u4..._检测字符串是否有中文标点符号并替换 python

同事写了一个疯狂的类构造器,我要疯了,Builder 模式都不会么?!!-程序员宅基地

文章浏览阅读98次。疯狂的类构造器最近栈长在做 Code Review 时,发现一段创建对象的方法:Tasktask=newTask(112,"紧急任务","处理一下这个任..._public builder with(biconsumer consumer, u value) {

深蓝学院-视觉SLAM十四讲-第三章作业_深蓝学院slam第三次作业答案-程序员宅基地

文章浏览阅读1.3k次,点赞5次,收藏18次。第三节课习题2.群的性质课上我们讲解了什么是群。请根据群定义,求解以下问题:{Z,+}\{\mathbb{Z}, + \}{Z,+}是否为群?若是,验证其满足群定义;若不是,说明理由。根据群定义可知{Z,+}\{\mathbb{Z}, + \}{Z,+}是群。证明如下:封闭性:∀z1,z2∈Z, z1+z2∈Z.\forall z_1,z_2 \in \mathbb{Z},\space z_1 + z_2 \in \mathbb{Z}.∀z1​,z2​∈Z, z1​+z2​_深蓝学院slam第三次作业答案

(Entity Framework)当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。_entityframework 当 identity_insert 设置为 off 时-程序员宅基地

文章浏览阅读3.7k次。最近使用EF框架在向数据库中插入数据时,运行到db.SaveChanges()处出现错误(BookID是表Book的id,且数据库中设置的是自增), 代码如下:try{ Model.Book info = new Model.Book(); info.BookName = bookName; info.Summary = summary; info.OpDate = Da_entityframework 当 identity_insert 设置为 off 时

Atcode 2334 dfs_给定一个长度为n的由 o、x、? 组成的字符串-程序员宅基地

文章浏览阅读160次。题意:给定一个长度为n的字符串,字符串由‘o’和‘x’组成, ‘o’对于羊,那么他左右两边的动物种类相同),‘x’对于羊来说就是左右两边的动物种类相反,而对于狼两者意义相反,(‘o’不同,‘x’相同);要求出任意一种动物序列(序列是循环的,也就是1的前一个是n,n的后一个是1),S代表羊W代表狼符合给定的字符串。 题解:如果第一个位置和第二个位置的动物确定,那么就可以由已知字符串推导出序列..._给定一个长度为n的由 o、x、? 组成的字符串

推荐文章

热门文章

相关标签