12345678910111213141516171819202122232425262728293031 |
- /**
- * 全局错误处理插件
- * 用于捕获和处理全局未捕获的错误
- */
- 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; // 防止默认处理
- };
- }
- });
|