当前位置: 首页 > news >正文

网站解析金马国旅网站建设分析

网站解析,金马国旅网站建设分析,天津龙腾公司做网站,合肥智能建站模板前言 公司的项目上线出现问题后难以定位错误#xff0c;研究过现存的错误监控方案#xff0c;受限于特殊条件只能定制自己的错误收集方案。 基于以上背景我撸出来一个错误日志收集方案 - Ohbug。 欢迎各位大佬 star ~ 监控错误 说起错误的捕获#xff0c;首先想到的是 try c…前言 公司的项目上线出现问题后难以定位错误研究过现存的错误监控方案受限于特殊条件只能定制自己的错误收集方案。 基于以上背景我撸出来一个错误日志收集方案 - Ohbug。 欢迎各位大佬 star ~ 监控错误 说起错误的捕获首先想到的是 try catch 通过 catch 捕获到错误后进一步做出处理 try {undefined.map(v v); } catch(e) {console.log(e); // TypeError: Cannot read property map of undefined } 复制代码然而 try catch 对于异步产生的错误毫无感知 try {setTimeout(() {undefined.map(v v);}, 1000) } catch(e) {console.log(e); // TypeError: Cannot read property map of undefined } 复制代码并且在实际工作中我也不可能给所有代码加上 try catch所以能否捕获全局的错误呢 react componentDidCatch React 16 提供了一个内置函数 componentDidCatch使用它可以非常简单的获取到 react 下的错误信息 componentDidCatch(error, info) { console.log(error, info); } 复制代码React 16 的异常/错误处理 vue errorHandler 指定组件的渲染和观察期间未捕获错误的处理函数。这个处理函数被调用时可获取错误信息和 Vue 实例。 Vue.config.errorHandler function (err, vm, info) {// handle error// info 是 Vue 特定的错误信息比如错误所在的生命周期钩子// 只在 2.2.0 可用 } 复制代码errorHandler onerror vs addEventListener 对于没有使用 react 或 vue 的项目可以通过 onerror 或 addEventListener 监控全局错误(当然使用 react 或 vue 的项目同样可以) onerror 或 addEventListener 都可以捕获到一些未知的错误然而这两个有什么区别呢 window.onerror (msg, url, row, col, error) {console.log({msg, url, row, col, error}); }; setTimeout(() {undefined.map(v v); }, 1000); 复制代码 window.addEventListener(error, (e) {console.log(e); }, true); 复制代码 除此之外addEventListener 还可以捕获资源加载错误、未 catch 的 promise 错误。 // 捕获未 catch 的 promise 错误 window.addEventListener(unhandledrejection, e {e.preventDefault();console.log(e); }); Promise.reject(promiseError); 复制代码 ajax/fetch 错误监控 想要监控请求失败上面的方法肯定是不可取的了。 使用 axios 的小伙伴可以通过配置拦截器实现错误的监控。 // 添加请求拦截器 axios.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;}, function (error) {// 对请求错误做些什么return Promise.reject(error);});// 添加响应拦截器 axios.interceptors.response.use(function (response) {// 对响应数据做点什么return response;}, function (error) {// 对响应错误做点什么return Promise.reject(error);}); 复制代码这里我采用了重新封装 XMLHttpRequest/fetch 对象的方法实现对网络请求的监控。 XMLHttpRequest const AJAX {// 记录请求的 urlreqUrl: ,// 记录请求的方法reqMethod: ,// 保存原生的 open 方法xhrOpen: window.XMLHttpRequest.prototype.open,// 保存原生的 send 方法xhrSend: window.XMLHttpRequest.prototype.send,init() {const that this;window.XMLHttpRequest.prototype.open function () {that.reqUrl arguments[1];that.reqMethod arguments[0];that.xhrOpen.apply(this, arguments);};window.XMLHttpRequest.prototype.send function () {this.addEventListener(readystatechange, function () {if (this.readyState 4) {if (!this.status || this.status 400) {// 错误收集}}});that.xhrSend.apply(this, arguments);};}, }; AJAX.init(); 复制代码fetch const FETCH {backup: window.fetch,init() {window.fetch function (url, conf) {return (FETCH.backup.apply(this, arguments).then((res) {if (!res.status || res.status 400) {// 错误收集}return res;}));};}, }; FETCH.init(); 复制代码待实现功能 捕获websocket错误设置采集率sourcemap定位压缩代码具体错误位置参考文章 前端代码异常监控实战Js error 监控前端一站式异常捕获方案(全)转载于:https://juejin.im/post/5bd2dbc7f265da0af16183f8
http://www.huolong8.cn/news/425954/

相关文章:

  • 江苏省交通建设局网站首页廊坊建站平台
  • 免费网站建站平台有限公司怎么注册公司
  • 中山网站搜索排名怎么免费申请网站域名
  • 网站做微信支付功能物流网站建设可行性报告
  • 网站建设价格明细电子商务网站
  • 潍坊网站模板建站如何自己免费做网站
  • 网站建设的价格简单做动画的网站
  • 做一个简单的网站要多少钱免费发布信息
  • 南宁网站建设专家求一个全部用div做的网站
  • tklink的登录做网站wordpress 云储存插件
  • 永乐网站建设免费建站免费的免费
  • 响应式网站建设服务提供商服务周到的网站建站
  • 网站建设的实验步骤logo设计方案
  • 沈阳市网站设计制作公司福州企业公司网站建设
  • cms做淘宝客网站互联网营销师挣的是谁的钱
  • 企业官方网站开发外包网站建设.龙兵科技
  • 网站建设手机端pc端分开贵州省建设学校官方网站
  • 成都网站运营维护厂家外贸建站服务
  • 淘宝优惠卷网站怎么做珠宝网站模板
  • 辽阳专业建设网站公司家装公司哪家比较好
  • 在元典公司做网站有合同吗男女做视频观看网站
  • 做网站源码要给客户嘛网站签到的作用
  • 超云建站wordpress 自定义字段 面板
  • 网站建设先做前台还是后台网站为什么会出现死链
  • 品牌网站建设服务什么是响应式网站建设
  • 乐居房产官方网站做一个好一点网站费用多少
  • 网站开发会遇到的问题网站上全景云台怎么做的
  • 响应式模板网站建设西安华为外包公司有哪些
  • 律师个人 网站做优化微信运营环境加载失败怎么办
  • 青岛专业制作网站的公司郑州市金水区建设局网站