41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { Promise } from 'bluebird';
|
|
// 支持注解
|
|
import 'reflect-metadata';
|
|
import { pinus } from 'pinus';
|
|
|
|
/**
|
|
* 替换全局Promise
|
|
* 自动解析sourcemap
|
|
* 捕获全局错误
|
|
*/
|
|
export function preload() {
|
|
// 使用bluebird输出完整的promise调用链
|
|
global.Promise = Promise;
|
|
// 开启长堆栈
|
|
Promise.config({
|
|
// Enable warnings
|
|
warnings: true,
|
|
// Enable long stack traces
|
|
longStackTraces: true,
|
|
// Enable cancellation
|
|
cancellation: true,
|
|
// Enable monitoring
|
|
monitoring: true
|
|
});
|
|
|
|
// 自动解析ts的sourcemap
|
|
require('source-map-support').install({
|
|
handleUncaughtExceptions: false
|
|
});
|
|
|
|
// 捕获普通异常
|
|
process.on('uncaughtException', function (err) {
|
|
console.error(pinus.app.getServerId(), 'uncaughtException Caught exception: ', err);
|
|
});
|
|
|
|
// 捕获async异常
|
|
process.on('unhandledRejection', (reason: any, p) => {
|
|
console.error(pinus.app.getServerId(), 'Caught Unhandled Rejection at:', p, 'reason:', reason);
|
|
});
|
|
}
|