You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.2 KiB
TypeScript
63 lines
1.2 KiB
TypeScript
import env from 'nenv'
|
|
import { createHead } from '@unhead/vue'
|
|
|
|
import App from './App.vue'
|
|
import AppLoading from './AppLoading.vue'
|
|
|
|
import './styles'
|
|
import { setupPinia } from './modules/pinia'
|
|
import { setupI18n } from './modules/i18n'
|
|
import { setupPWA } from './modules/pwa'
|
|
import { initRouter, setupRouterGuards } from './modules/router/router'
|
|
// import { setupPrimeVue } from './modules/primevue'
|
|
import 'virtual:svg-icons-register'
|
|
|
|
{
|
|
const meta = document.createElement('meta')
|
|
meta.name = 'naive-ui-style'
|
|
document.head.appendChild(meta)
|
|
}
|
|
|
|
{
|
|
const meta = document.createElement('meta')
|
|
meta.name = 'vueuc-style'
|
|
document.head.appendChild(meta)
|
|
}
|
|
|
|
;
|
|
(async () => {
|
|
// loadingApp
|
|
const appLoading = createApp(AppLoading)
|
|
appLoading.mount('#appLoading')
|
|
|
|
const app = createApp(App)
|
|
|
|
// primevue
|
|
// setupPrimeVue(app)
|
|
|
|
// pinia
|
|
setupPinia(app)
|
|
|
|
// setup I18n
|
|
await setupI18n(app)
|
|
|
|
// Router
|
|
const router = await initRouter(import.meta.env.VITE_BASE_URL)
|
|
app.use(router)
|
|
// Router guards
|
|
await setupRouterGuards()
|
|
await router.isReady()
|
|
|
|
// pwa
|
|
if (env.VITE_PWA) {
|
|
await setupPWA()
|
|
}
|
|
|
|
const head = createHead()
|
|
app.use(head)
|
|
|
|
// mount
|
|
app.mount('#app')
|
|
// TODO MOCK
|
|
})()
|