{"_id":"@bbtfe/bbt-monitor","_rev":"16-3c715565d0f1563089f8a7b6dade112c","name":"@bbtfe/bbt-monitor","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@bbtfe/bbt-monitor","version":"0.0.1","description":"前端监控组件","main":"dist/bbtMonitor.min.js","directories":{"test":"test"},"scripts":{"start":"webpack-dev-server --config webpack.config.js","build":"webpack --config webpack.config.js"},"publishConfig":{},"keywords":[],"author":{"name":"bbtfe"},"license":"ISC","devDependencies":{"babel-core":"^6.26.0","babel-eslint":"^8.2.1","babel-loader":"^7.1.2","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","css-loader":"0.28.11","chai":"^4.1.2","clean-webpack-plugin":"^0.1.16","eslint":"^4.15.0","eslint-loader":"^1.9.0","extract-text-webpack-plugin":"^3.0.2","lodash":"^4.17.4","node-sass":"4.9.3","sass-loader":"7.1.0","style-loader":"0.18.2","uglifyjs-webpack-plugin":"^1.1.6","webpack":"^3.10.0","webpack-cli":"^3.1.0","webpack-dev-server":"2.11.2"},"eslintConfig":{"env":{"browser":true,"es6":true},"parser":"babel-eslint","parserOptions":{"ecmaVersion":2015,"sourceType":"module","ecmaFeatures":{}},"plugins":[],"extends":["eslint:recommended"]},"dependencies":{"@bbtfe/utils":"^1.0.6"},"_id":"@bbtfe/bbt-monitor@0.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"li_qian008","email":"li_qian008@163.com"},"dist":{"integrity":"sha512-Y0WQx8qETF6HPktBydSEJLHOY2kPdo+ddArM3y46r141TF0gXxnllnd5VGu/z5a2AK5miLJgHjqzshrOBiQnSA==","shasum":"836a3f5c048a25da310ddb9e46a4efa75c67867f","tarball":"https://registry.npmjs.org/@bbtfe/bbt-monitor/-/bbt-monitor-0.0.1.tgz","fileCount":6,"unpackedSize":15488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYE5pCRA9TVsSAnZWagAA2gUP/iajd87JnskAdJ6ECw/K\nJ36Wz7a1ZJpIQjVJtfVy2cXpjsdyz9WN5EXtezeLw6TtBlFeCFwGdEiArn9P\no12Y+lsRGzXXCfOoWQiBY7lF5h0oc/j/MgaX07hqtVB8Zk7NKoQKaBcXZul3\nSNw/k2fjM8PHhrgh7tSGB4Mw12+8b8z0sadYVH6LWMNdM6KvtVGdsDAesljb\nVGuAb2LrSMEbrH3y/mLsPC0YPggpwr16+hslH+ivfIocYGxt6DxK8CB5+D5t\n/xOrf5nHINB3+pC1Qz3YXPRrGSb/Fi/ci5CaoNQlFVPnbbjgFMkeO1iwY47i\nYrucje8hIRBQ4bREECvVP4bbJj0SkJPqfTROipg0fNBJ7yPqd6Vjt5qfytoM\nfCADBNyYZ92nXFkQ+FJwJncoaP2AOQJMRmITJycNQscEWV80Rfj6NLMGdQx7\nJf4/1biFDzTzxby8cdwDmFUB6pRGd/gv3nlVt5oMrkqt9Ut92WEMzmC9u78S\nvDDMplOw5+1oGRpfRq6Lq9eX5SBo947bKXdg25NdO5y+FiEf3+FOGqO55yMx\nBSeL+Z/mSLwh53YaZ4DIDSI0JmbYO5dG3WBAOKI6RAMXGsJOXy5IztW9OiGx\nCvQ9YgWFrnGeiM1Q//Lqw5ZCYeXPrgph1Kw1+RNWUsCo7tUkloL0zEwfR7hc\nUz5G\r\n=puNr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBxfn9e/TU0E0iNwzyqLyzEiR0g1u/mU7acM+MRThxRgIhAPMrCMVtnxhUu3Nlb2ZO8dPXjgIYwFnhMs8lz3ISN5gM"}]},"maintainers":[{"name":"mzg123","email":"mzg29@163.com"},{"name":"lpldplws","email":"1510252150@qq.com"},{"name":"phylfh","email":"991592170@qq.com"},{"name":"li_qian008","email":"li_qian008@163.com"},{"name":"divcss","email":"divcss@sina.com"},{"name":"whb120","email":"1017265508@qq.com"},{"name":"shengoo","email":"shengoo@hotmail.com"},{"name":"cnsnake11","email":"187333820@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bbt-monitor_0.0.1_1583369833284_0.6471883935868863"},"_hasShrinkwrap":false},"0.0.2":{"name":"@bbtfe/bbt-monitor","version":"0.0.2","description":"前端监控组件","main":"dist/bbtMonitor.min.js","directories":{"test":"test"},"scripts":{"start":"webpack-dev-server --config webpack.config.js","build":"webpack --config webpack.config.js"},"publishConfig":{},"keywords":[],"author":{"name":"bbtfe"},"license":"ISC","devDependencies":{"babel-core":"^6.26.0","babel-eslint":"^8.2.1","babel-loader":"^7.1.2","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","css-loader":"0.28.11","chai":"^4.1.2","clean-webpack-plugin":"^0.1.16","eslint":"^4.15.0","eslint-loader":"^1.9.0","extract-text-webpack-plugin":"^3.0.2","lodash":"^4.17.4","node-sass":"4.9.3","sass-loader":"7.1.0","style-loader":"0.18.2","uglifyjs-webpack-plugin":"^1.1.6","webpack":"^3.10.0","webpack-cli":"^3.1.0","webpack-dev-server":"2.11.2"},"eslintConfig":{"env":{"browser":true,"es6":true},"parser":"babel-eslint","parserOptions":{"ecmaVersion":2015,"sourceType":"module","ecmaFeatures":{}},"plugins":[],"extends":["eslint:recommended"]},"dependencies":{"@bbtfe/utils":"^1.0.6"},"_id":"@bbtfe/bbt-monitor@0.0.2","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"li_qian008","email":"li_qian008@163.com"},"dist":{"integrity":"sha512-VeNP3BtjWlSlDqyJNuzNW42vngwtgrJjoiG9DWu/p409/OnnYohF3x3w5GacI5zNW+rxcAKZcn9WC59Ad6DoEA==","shasum":"22479df516d629b3bdad9a1cc930e55878d6c36a","tarball":"https://registry.npmjs.org/@bbtfe/bbt-monitor/-/bbt-monitor-0.0.2.tgz","fileCount":6,"unpackedSize":15478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2BY6CRA9TVsSAnZWagAAm8AP/321CVTTu5w1yM/UX/Mx\nbKGpHBHGIuERUChR8UjAGod78Z1DK9ZKHnG6lr6imnfDm+P5yEyIHHIZkErQ\n7zhhpywdH/ZJ5org5KdBeMaRZ3Dp/bFz1yfLEP4fMwSsebUz7apbp/aiovlj\nKRrhigjsJICi5BqyOkZtLjgCdyTXwbWjGp8AEcSNaPYpzdsZnVQQaqJx0Yul\nLwsy1Elku2KUyDJUrq5SIdoNFdG05NbgCZo//APs/XiQvf3vhVig6v4/TZSL\n1yAeLPJXLxwjXMIFiXoV2M+VbKUpYlgVUGbBzq8LdBVvMwQj9ZjMlaz0lftD\nplV2idTL3lBu83QDhp3g7Dq9IIFuiS1+9XlM2YikQtYgFXJkUNGb52jj/JUv\nrDbLROiR50daIP6Ppc4ISI+nRkukae35yfMHrPFGGEGtGKX6L8aGAoeEndxH\nGWPAi1wmfBrruui+7IKyRyR+f+9GWT5nX5/eXXZx1ZHvdn8obtvrzxt+wCVZ\nN5/fLwDK66p+U/sfbzSr5ZLKSHnYJjGw26SxEBPeZKICXHZTIa0sTwY6X6c1\n2P7YUG18vq0GWuGa0s06smHRMls5Ibn140/WejH6lhNnJu+vdyc3wEHtWlpg\nvR6O3iGq0Q80jVZss14BO6qPGCBuaJesXt/fILkEJjLIy++j4b4b9WFVwg3a\nddbL\r\n=zh9o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbAXZ6ztyngcuJuPqBIkYSHo3h8bACvjPUOpI+KuLiOwIhAJVhHoK8lO/s5a3FTm3Iw8dia/32eRdikdSf2Mc3GdIX"}]},"maintainers":[{"name":"cnsnake11","email":"187333820@qq.com"},{"name":"divcss","email":"divcss@sina.com"},{"name":"li_qian008","email":"li_qian008@163.com"},{"name":"lpldplws","email":"1510252150@qq.com"},{"name":"mzg123","email":"mzg29@163.com"},{"name":"phylfh","email":"991592170@qq.com"},{"name":"shengoo","email":"shengoo@hotmail.com"},{"name":"whb120","email":"1017265508@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bbt-monitor_0.0.2_1583371887583_0.6666241882734876"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-05T00:57:13.115Z","0.0.1":"2020-03-05T00:57:13.409Z","modified":"2022-06-15T08:17:51.765Z","0.0.2":"2020-03-05T01:31:27.703Z"},"maintainers":[{"email":"showstin@hotmail.com","name":"showstin"},{"email":"18653858844@163.com","name":"juhengze"},{"email":"354111694@qq.com","name":"most_xiaoya"},{"email":"594815633@qq.com","name":"huxinli"},{"email":"sisimengchen@gmail.com","name":"sisimengchen"},{"email":"1071416706@qq.com","name":"huijuan_lv"}],"description":"前端监控组件","keywords":[],"author":{"name":"bbtfe"},"license":"ISC","readme":"# 前端监控组件\n\n本组件计划集成H5页面错误监控和性能监控\n\n目前错误监控已集成，性能监控待完成\n\n错误监控：全局监听捕获了站内JS触发的异常，然后将错误日志上报给后台，字段包括报错的消息，代码位置，报错堆栈，所使用的系统（iOS/Android），孕育App版本，浏览器信息ua等\n\n\n### npm引用\n\n```bash\nnpm i @bbtfe/bbt-monitor\n```\n\n```js\nimport bbtMonitor from '@bbtfe/bbt-monitor';\n```\n\n### script引用\n\n支持HTTPS和HTTP，建议在通常页面中使用下面去掉协议头的形式引用即可。\n\n```html\n<script src=\"//static02.babytreeimg.com/img/bca/bbtMonitor/0.0.2/bbtMonitor.min.js\" crossorigin=\"anonymous\"></script>\n```\n\n### PHP引用方式\n**建议合并脚本**\n\n```php\nStaticFileControl::addXXX('/img/bca/bbtMonitor/0.0.2/bbtMonitor.min.js');\n```\n\n# url引入使用方法\n\ncdn地址引入。\n\n注意事项：\n\n针对跨域脚本错误：\n\n由于前端浏览器对于脚本安全的考虑，默认是不允许跨域捕获脚本错误信息，所以，需要做两件事：\n\n1. 服务器端：脚本的Response Header添加Access-Control-Allow-Origin头，表明允许跨域；\n2. 前端：    script属性配置 crossorigin=\"anonymous\"\n\n这样，前端就能同时捕获跨域脚本的错误了。\n\n\n# API\n\n初始化调用\n初始化方法调用后，pre 和 online 环境默认开启错误监控\ndev和test环境默认不开启错误监控\n如果测试环境需要开启错误监控，需在url后面追加这个参数_error=true\n\n```\nbbtMonitor.init();\n```\n\n针对异步错误\n\n原则上, 捕获了异步函数触发的异常，这是基于unhandledrejection这个事件的，但是支持的浏览器非常有限，当前在移动端浏览器几乎不被支持，所以在封装和写异步函数的时候，强烈要求在await函数和promise上自己catch一下错误，做好错误异常处理，然后在catch里面把错误信息上报给后台, 调用该方法：\n\n```\nbbtMonitor.catchError(err.message, err.stack);\n```\n\n\n因为客户端的盲目调用，页面会出现如下无意义的报错，为了不污染splunk数据，再0.0.2版本过滤这些报错：\nios:\nReferenceError: Can't find variable: Base64\nReferenceError: Can't find variable: webviewDisappear\nReferenceError: Can't find variable: webviewAppear\n\nandroid:\nUncaught ReferenceError: onNetStateChange is not defined\nUncaught TypeError: window.webviewDisappear is not a function\nUncaught TypeError: window.webviewAppear is not a function\nUncaught ReferenceError: pageLoadFinish is not defined\n","readmeFilename":"readme.md"}