babel-plugin-try-catch-auto

2.4.6 • Public • Published

babel-plugin-try-catch-auto

  • 作者:liuduan
  • 邮箱:liuduan.05.05@163.com
  • 版本:2.4.6

介绍

babel插件,js文件经过babel编译时会自动在function 内部嵌入try catch代码片段,用于捕获函数体中的异常,并上报异常数据到服务器。
onerrorreact 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

  1. 优化catch上报参数
  2. 增加throwError参数配置

2.4.1

  1. 替换函数节点为Function

2.4.2

  1. 对添加try catch的模块增加严格审核,减少不必要的try catch
  2. error.message中增加了方法名方法行号起始位置的信息,具体在message结尾以:间隔
  3. 补充了属性方法中的错误捕获

2.4.3

  1. 修复bug
  2. 增加白名单函数

2.4.4

  1. 优化catch时机,减少不必要的catch

2.4.5

  1. 增加方法名白名单配置

2.4.6

  1. 去掉对方法直接return的处理

Readme

Keywords

Package Sidebar

Install

npm i babel-plugin-try-catch-auto

Weekly Downloads

20

Version

2.4.6

License

ISC

Unpacked Size

17.1 kB

Total Files

3

Last publish

Collaborators

  • tony-liuduan