// 全局屏蔽 ResizeObserver 错误 // 这是一个常见的 workaround,用于处理某些环境下 ResizeObserver 导致的循环限制错误。 // 它通过包装 ResizeObserver 的回调函数来捕获并阻止错误向上冒泡,但不会修复根本原因。 if (typeof window !== 'undefined' && window.ResizeObserver) { const originalResizeObserver = window.ResizeObserver; window.ResizeObserver = class ResizeObserver extends originalResizeObserver { constructor(callback) { super((entries, observer) => { // 使用 requestAnimationFrame 延迟执行回调,以避免 ResizeObserver loop limit exceeded 错误 window.requestAnimationFrame(() => { try { callback(entries, observer); } catch (error) { // 捕获 ResizeObserver 错误,并打印到控制台,防止应用崩溃 console.error('ResizeObserver 错误被捕获:', error); // 如果需要,可以在这里选择断开观察者,以防止进一步的错误 // observer.disconnect(); } }); }); } }; } import {createApp} from 'vue'; import ElementPlus from 'element-plus'; import 'element-plus/dist/index.css'; import zhCn from 'element-plus/dist/locale/zh-cn.mjs'; // 导入 Element Plus 中文语言包 import App from './App.vue'; import router from './router'; // 导入重构后的路由 // 导入全局样式 import './assets/styles/main.css'; // 创建Vue应用实例 const app = createApp(App); // 全局配置 Element Plus 为中文 app.use(ElementPlus, {locale: zhCn}); // 使用路由 app.use(router); // 挂载应用 app.mount('#app');