49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import { createApp } from 'vue'
|
|
import router from '@/router'
|
|
import store from '@/store'
|
|
import App from '@/App.vue'
|
|
import { hasPermission } from '@/permission'
|
|
import commonMixin from '@/mixins/common'
|
|
import { cancelWithChange, clickOutside, noData } from '@/utils/tools'
|
|
import { ClickOutside } from 'element-plus/lib/directives'
|
|
import i18n from '@/i18n'
|
|
import hljsVuePlugin from '@highlightjs/vue-plugin'
|
|
import 'highlight.js/styles/color-brewer.css'
|
|
import '@/assets/css/main.scss' // 样式入口
|
|
// import VueGridLayout from 'vue-grid-layout'
|
|
import ElementPlus from 'element-plus'
|
|
import dayjs from 'dayjs'
|
|
import utc from 'dayjs/plugin/utc' // dependent on utc plugin
|
|
import timezone from 'dayjs/plugin/timezone'
|
|
import advancedFormat from 'dayjs/plugin/advancedFormat'
|
|
import weekday from 'dayjs/plugin/weekday'
|
|
|
|
const _ = require('lodash') // lodash工具
|
|
|
|
dayjs.extend(utc)
|
|
dayjs.extend(timezone)
|
|
dayjs.extend(advancedFormat)
|
|
dayjs.extend(weekday)
|
|
window.$dayJs = dayjs
|
|
|
|
const app = createApp(App)
|
|
|
|
app.use(router)
|
|
app.use(store)
|
|
app.use(ElementPlus)
|
|
app.use(i18n)
|
|
app.use(hljsVuePlugin)
|
|
// app.use(VueGridLayout)
|
|
|
|
app.directive('has', hasPermission) // 注册指令
|
|
app.directive('click-outside', clickOutside)
|
|
app.directive('ele-click-outside', ClickOutside)
|
|
app.directive('cancel', cancelWithChange)
|
|
app.directive('no-data', noData)
|
|
app.config.globalProperties.$_ = _
|
|
|
|
app.mixin(commonMixin)
|
|
|
|
app.mount('#app')
|
|
export default app
|