fn-try-catch-loader

1.0.2 • Public • Published

fn-try-catch-loader

一个为js所有function函数包裹上try/catch的webpack Loader

如果你想通过try/catch来暴露一些代码运行时的异常问题,但是又不想手动给代码里每function函数来添加try/catch,那么该loader能完美的解决你的需求。

推荐node版本

运行包中的测试用例,推荐:v11.x.x(v10.x.x及以上都可以)

处理js函数类型

// 1. 函数声明
function fn () {
    console.log('--- fn try catch loader ---');
}
// 转化后
function fn () {
    try {
        console.log('--- fn try catch loader ---');
    } catch (e) {
        console.error(e);
    }
}
// 2. 箭头函数
let fn = data => {
    console.log('--- fn try catch loader ---');
}
// 转化后
let fn = data => {
    try {
        console.log('--- fn try catch loader ---');
    } catch (e) {
        console.error(e);
    }
}
// 3. 对象型的函数表达式
let vueComponents = {
    methods: {
        fn: function() {
            console.log('--- fn try catch loader ---');
        }
    }
}
// 转化后
let vueComponents = {
    methods: {
        fn: function() {
            try {
                console.log('--- fn try catch loader ---');
            } catch (e) {
                console.error(e);
            }
        }
    }
}
// 4. ObjectMethod型
let vueComponents = {
    methods: {
        fn() {
            console.log('--- fn try catch loader ---');
        }
    }
}
// 转化后
let vueComponents = {
    methods: {
        fn() {
            try {
                console.log('--- fn try catch loader ---');
            } catch (e) {
                console.error(e);
            }
        }
    }
}

Usage

// webpack.config.js
module: {
    rules: [
        {
            test: /\.js$/,
            use:{
                loader:'fn-try-catch-loader',
                options: {
                	identifier: 'err',
                	catchCode: `alert(err)`
                }
            }
        }
    ]
}

禁止添加try/catch

// 通过在函数体内第一行添加disable-try-catch
function fn() {
    /* disable-try-catch */
    console.log('--- fn try catch loader ---');
}

loader options

字段 类型 默认值 描述
identifier string e catch语句中错误对象
catchCode string console.error(e) catch语句中的代码

Package Sidebar

Install

npm i fn-try-catch-loader

Weekly Downloads

0

Version

1.0.2

License

ISC

Unpacked Size

16 kB

Total Files

12

Last publish

Collaborators

  • zhaoxiaoyang