UNPKG

@neosjs/create-app

Version:

帮助开发者快速创建Vue3应用并自动配置项目

57 lines (53 loc) 1.54 kB
/** * 全局脚本错误处理 */ export function scriptErrorHandler( message: Event | string, source?: string, lineno?: number, colno?: number, error?: Error ): boolean { console.error('[ScriptError]', { message, source, lineno, colno, error }) // reportError({ type: 'script', message, source, lineno, colno, error }) return true // 阻止默认控制台报错,可根据需求改 } /** * Promise 未捕获错误处理 */ export function registerPromiseErrorHandler() { window.addEventListener('unhandledrejection', (event) => { console.error('[PromiseError]', event.reason) // reportError({ type: 'promise', reason: event.reason }) }) } /** * 资源加载错误处理 (img, script, css...) */ export function registerResourceErrorHandler() { window.addEventListener( 'error', (event: Event) => { const target = event.target as HTMLElement if ( target && (target.tagName === 'IMG' || target.tagName === 'SCRIPT' || target.tagName === 'LINK') ) { console.error('[ResourceError]', { tagName: target.tagName, src: (target as HTMLImageElement).src || (target as HTMLScriptElement).src || (target as HTMLLinkElement).href }) // reportError({ type: 'resource', target }) } }, true // 捕获阶段才能监听到资源错误 ) } export const install = () => { window.onerror = scriptErrorHandler registerPromiseErrorHandler() registerResourceErrorHandler() }