import { createApp } from 'vue'
|
import { createPinia } from 'pinia'
|
import ElementPlus from 'element-plus'
|
import 'element-plus/dist/index.css'
|
import 'element-plus/theme-chalk/dark/css-vars.css'
|
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
|
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
|
|
import App from './App.vue'
|
import router from './router'
|
import './style/index.scss'
|
|
const app = createApp(App)
|
|
// 启动时加载后端配置,并注入全局媒体前缀
|
import { loadAppConfig } from './utils/appConfig'
|
loadAppConfig().then((mediaBaseUrl) => {
|
app.config.globalProperties.$mediaBaseUrl = mediaBaseUrl
|
})
|
|
// 注册 Element Plus 图标
|
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
|
app.component(key, component)
|
}
|
|
app.use(createPinia())
|
app.use(router)
|
app.use(ElementPlus, {
|
locale: zhCn,
|
})
|
|
app.mount('#app')
|