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的处理

    Install

    npm i babel-plugin-try-catch-auto

    DownloadsWeekly Downloads

    18

    Version

    2.4.6

    License

    ISC

    Unpacked Size

    17.1 kB

    Total Files

    3

    Last publish

    Collaborators

    • tony-liuduan