/** * 全局错误处理插件 * 用于捕获和处理全局未捕获的错误 */ export default defineNuxtPlugin((nuxtApp) => { // 处理Vue组件错误 nuxtApp.vueApp.config.errorHandler = (error, instance, info) => { console.error('Vue错误:', error); console.error('错误信息:', info); }; // 只在客户端环境执行以下代码 if (process.client) { // 处理未捕获的Promise错误 window.addEventListener('unhandledrejection', (event) => { console.error('未处理的Promise错误:', event.reason); }); // 处理全局JS错误 window.onerror = (message, source, lineno, colno, error) => { console.error('全局JS错误:', { message, source, lineno, colno, error }); return true; // 防止默认处理 }; } });