fn-try-catch-loader
v1.0.2
Published
一个为js每个function添加try/catch处理的webpack Loader
Downloads
1
Maintainers
Readme
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语句中的代码 |