Hanye官网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031
  1. /**
  2. * 全局错误处理插件
  3. * 用于捕获和处理全局未捕获的错误
  4. */
  5. export default defineNuxtPlugin((nuxtApp) => {
  6. // 处理Vue组件错误
  7. nuxtApp.vueApp.config.errorHandler = (error, instance, info) => {
  8. console.error('Vue错误:', error);
  9. console.error('错误信息:', info);
  10. };
  11. // 只在客户端环境执行以下代码
  12. if (process.client) {
  13. // 处理未捕获的Promise错误
  14. window.addEventListener('unhandledrejection', (event) => {
  15. console.error('未处理的Promise错误:', event.reason);
  16. });
  17. // 处理全局JS错误
  18. window.onerror = (message, source, lineno, colno, error) => {
  19. console.error('全局JS错误:', {
  20. message,
  21. source,
  22. lineno,
  23. colno,
  24. error
  25. });
  26. return true; // 防止默认处理
  27. };
  28. }
  29. });