2025-11-25 22:22:35 +08:00
|
|
|
|
// 全局屏蔽 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();
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-10-22 15:39:42 +08:00
|
|
|
|
import {createApp} from 'vue';
|
2025-09-19 14:25:20 +08:00
|
|
|
|
import ElementPlus from 'element-plus';
|
|
|
|
|
|
import 'element-plus/dist/index.css';
|
2025-10-20 16:14:59 +08:00
|
|
|
|
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'; // 导入 Element Plus 中文语言包
|
2025-09-19 14:25:20 +08:00
|
|
|
|
import App from './App.vue';
|
2025-11-16 15:36:26 +08:00
|
|
|
|
import router from './router'; // 导入重构后的路由
|
2025-09-19 14:25:20 +08:00
|
|
|
|
|
|
|
|
|
|
// 导入全局样式
|
|
|
|
|
|
import './assets/styles/main.css';
|
|
|
|
|
|
|
|
|
|
|
|
// 创建Vue应用实例
|
|
|
|
|
|
const app = createApp(App);
|
|
|
|
|
|
|
2025-10-20 16:14:59 +08:00
|
|
|
|
// 全局配置 Element Plus 为中文
|
2025-10-22 15:39:42 +08:00
|
|
|
|
app.use(ElementPlus, {locale: zhCn});
|
2025-09-19 14:25:20 +08:00
|
|
|
|
|
|
|
|
|
|
// 使用路由
|
|
|
|
|
|
app.use(router);
|
|
|
|
|
|
|
|
|
|
|
|
// 挂载应用
|
2025-09-30 22:35:36 +08:00
|
|
|
|
app.mount('#app');
|