import './assets/main.css' import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import router from './router' // 创建应用实例 const app = createApp(App) app.use(createPinia()) app.use(router) // 添加错误处理 app.config.errorHandler = (err, vm, info) => { console.error('Vue应用错误:', err, info) } // 确保DOM已加载后再挂载应用 const mountApp = () => { const appElement = document.getElementById('app') if (appElement) { app.mount('#app') } else { console.error('未找到#app元素') } } // 如果DOM已加载,直接挂载;否则等待DOM加载完成 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', mountApp) } else { // 使用setTimeout确保在下一个事件循环中挂载 setTimeout(mountApp, 0) }