babel-plugin-try-catch-auto
- 作者:liuduan
- 邮箱:liuduan.05.05@163.com
- 版本:
2.4.6
介绍
babel插件,js文件经过babel编译时会自动在function
内部嵌入try catch
代码片段,用于捕获函数体中的异常,并上报异常数据到服务器。
因onerror
及react componentDidCatch
不能捕获异步方法中的异常而开开发该插件
安装
cnpm i -D babel-plugin-try-catch-auto
- 如果你还没有安装
npm
,可通过以下方式进行 安装。 - 安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
使用
1. 捕获异常不向外继续抛出配置
// .babelrc文件内配置 "presets": "env" "modules": false "react" "stage-2" "plugins": // 如果没有引入antd,可忽略 import 插件配置,import插件仅供示例参考 "import" "libraryName": "antd" "libraryDirectory": "lib" "style": "css" "try-catch-auto" "throwError": false // throwError = false 时,捕获异常不向外继续抛出
2. 捕获异常继续向外抛出配置
// .babelrc文件内配置 "presets": "env" "modules": false "react" "stage-2" "plugins": // 如果没有引入antd,可忽略 import 插件配置,import插件仅供示例参考 "import" "libraryName": "antd" "libraryDirectory": "lib" "style": "css" "try-catch-auto"
3. 配置白名单配置,白名单方法不使用try catch代码块包裹
// .babelrc文件内配置 "presets": "env" "modules": false "react" "stage-2" "plugins": // 如果没有引入antd,可忽略 import 插件配置,import插件仅供示例参考 "import" "libraryName": "antd" "libraryDirectory": "lib" "style": "css" "try-catch-auto" "whiteList": "example" // 数组类型,元素为方法名
Changelog
2.4.0
- 优化
catch
上报参数 - 增加
throwError
参数配置
2.4.1
- 替换函数节点为Function
2.4.2
- 对添加try catch的模块增加严格审核,减少不必要的try catch
- error.message中增加了
方法名
和方法行号
起始位置的信息,具体在message结尾以:
间隔 - 补充了属性方法中的错误捕获
2.4.3
- 修复bug
- 增加白名单函数
2.4.4
- 优化catch时机,减少不必要的catch
2.4.5
- 增加方法名白名单配置
2.4.6
- 去掉对方法直接return的处理