pes-async-await-try-catch-loader
v1.0.0
Published
a webpack loader that captures error of async function
Downloads
6
Readme
pes-async-await-try-catch-loader
一个自动给 async 函数注入 try/catch 的 webpack loader
在开发中经常会使用 async/await 异步编程,同时也会频繁的使用 try/catch 捕获异步中的错误,使得业务代码充斥这 try/catch 非常的冗余,使用这个 loader 可以只在打包后的代码自动注入 try/catch,使得业务代码非常简洁
async function func() {
let res = await new Promise(resolve => {
setTimeout(() => {
resolve('success')
}, 3000)
})
}打包后自动注入 try/catch
async function func() {
try {
let res = await new Promise(resolve => {
setTimeout(() => {
resolve('success');
}, 3000);
});
} catch (e) {
//...
}
}Install
npm i pes-async-await-try-catch-loader -D
yarn add pes-async-await-try-catch-loader -DUsage
// webpack.config.js
module: {
rules: [
{
test: /\.js$/,
use:{
loader:'pes-async-await-try-catch-loader',
options:{
catchCode:`alert(e)`
}
}
}
]
}// vue.config.js
configureWebpack: (config) => {
config.module.rules.push({
test: /\.js$/,
use: [{
loader: 'pes-async-await-try-catch-loader',
options: {
catchCode: 'console.log(e)'
}
}]
})
}Options
|Name|Type|Default|Description|
|:--:|:--:|:--:|:----------|
|identifier|{string}|"e"|catch 子句中的错误对象标识符
|catchCode|{string}|"console.error(e)"|catch 子句中的代码片段
|finallyCode|{string}|undefined|finally 子句中的代码片段
