Appearance
koa-error
简介
koa-error 是一个用于统一处理错误的中间件,它可以捕获应用中的错误并提供一致的错误响应格式,支持自定义错误页面和错误处理逻辑。
安装
bash
npm install koa-error基本使用
javascript
const Koa = require('koa');
const error = require('koa-error');
const app = new Koa();
// 注册错误处理中间件
app.use(error());
app.use(async (ctx) => {
// 模拟一个错误
throw new Error('发生了一个错误');
});
app.listen(3000);高级配置
javascript
const Koa = require('koa');
const error = require('koa-error');
const path = require('path');
const app = new Koa();
app.use(error({
// 自定义错误页面模板
template: path.join(__dirname, 'views/error.html'),
// 自定义错误处理
handler: async (err, ctx) => {
// 记录错误日志
console.error(err);
// 根据错误类型返回不同的状态码
if (err.status) {
ctx.status = err.status;
} else {
ctx.status = 500;
}
// 返回JSON格式的错误信息
ctx.body = {
code: ctx.status,
message: err.message,
stack: process.env.NODE_ENV === 'development' ? err.stack : undefined
};
},
// 是否返回错误堆栈信息
engine: 'ejs', // 模板引擎
cache: process.env.NODE_ENV === 'production', // 是否缓存模板
accepts: ['json', 'html'] // 支持的响应格式
}));
app.listen(3000);注意事项
- 错误处理中间件应该注册在所有其他中间件之前
- 在生产环境中不要暴露详细的错误堆栈信息
- 建议配合日志中间件使用,记录错误详情
- 可以根据不同的错误类型返回不同的状态码和错误信息
- 自定义错误页面时要注意保持良好的用户体验