新建app/middleware/error_handler.js中间件
'use strict';
module.exports = () => {
return async function errorHandler(ctx, next) {
try {
await next();
} catch (err) {
ctx.app.emit('error', err, ctx);
const status = err.status || 500;
const error = status === 500 && ctx.app.config.env === 'prod' ? '网络错误' : err.message;
ctx.body = {
msg: error,
sta: status,
data: [],
};
}
};
};
在config.default.js中引入中间件
module.exports = appInfo => {
const config = exports = {};
config.middleware = [ 'errorHandler' ];
config.errorHandler = {
enable: true,
match: '',
};
return {
...config,
};
};