38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import {createApp} from 'vue'
|
|
import './assets/css/style.scss'
|
|
import 'virtual:uno.css';
|
|
import App from './App.vue'
|
|
import {createPinia} from "pinia"
|
|
import router from "@/router.ts";
|
|
import VueVirtualScroller from 'vue-virtual-scroller'
|
|
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'
|
|
import './types/global.d.ts'
|
|
import loadingDirective from './directives/loading.tsx'
|
|
|
|
|
|
const pinia = createPinia()
|
|
const app = createApp(App)
|
|
|
|
app.use(VueVirtualScroller)
|
|
app.use(pinia)
|
|
app.use(router)
|
|
|
|
app.directive('opacity', (el, binding) => {
|
|
el.style.opacity = binding.value ? 1 : 0
|
|
})
|
|
app.directive('loading', loadingDirective)
|
|
app.mount('#app')
|
|
|
|
// 注册Service Worker(pwa支持)
|
|
if ('serviceWorker' in navigator) {
|
|
window.addEventListener('load', () => {
|
|
navigator.serviceWorker.register('/service-worker.js')
|
|
.then(registration => {
|
|
console.log('ServiceWorker registration successful with scope: ', registration.scope);
|
|
})
|
|
.catch(err => {
|
|
console.log('ServiceWorker registration failed: ', err);
|
|
});
|
|
});
|
|
}
|