egg-error-display
v1.5.9
Published
Allow customize the default egg-onerror's definition of isProd (线上 !== 生产)
Downloads
18
Maintainers
Readme
egg-error-display
Allow customizing the default egg-onerror's definition of isProd (线上 !== 生产)
Why
egg 项目本地跑起来后,如果有报错,会展示非常详细的错误堆栈。但是一旦发布到线上,就只会显示一个出错了,但是具体信息被隐藏了。
原因是 egg
默认的错误处理插件 egg-onerror
只对 app.env
为 local
或者 unittest
的情况展示详细信息,其他环境都被认为是生产环境,所以隐藏了错误堆栈。(了解更多)
我认为,生产环境的确应该隐藏详细错误信息,要查问题应该看日志。但是并不是所有线上环境都为生产环境,应当允许开发者打开"展示详细错误"选项。所以开发这个插件来完成这件事情。
Functionality
- 允许自定义 isProd 函数,用来确定当前 app 是否是生产环境。
Install
$ npm i egg-error-display --save
Usage
- Enable it on plugin configuration:
// {app_root}/config/plugin.[t|j]s
exports.onError = {
enable: true,
package: "egg-error-display"
};
- Configure the
isProd
function:
// {app_root}/config/config.default.[t|j]s
exports.onError = {
isProd: (app: Application) => app.env === 'prod'
};
see config/config.default.ts for more detail.
Questions & Suggestions
Please open an issue here.
License
Test
npm run test-local