2025-02-28 17:14:32 +08:00

60 lines
1.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { createApp } from 'vue';
// import Wujie from 'wujie-vue3';
import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat';
import utc from 'dayjs/plugin/utc';
import timezone from 'dayjs/plugin/timezone';
import { VueQueryPlugin } from '@tanstack/vue-query';
import App from './App.vue';
import { setupRouter } from './router';
import { setupIcons } from './components/basic/icon';
import { setupStore } from '@/store';
import { setupI18n } from '@/locales';
import { setupAntd, setupAssets, setupGlobalMethods } from '@/plugins';
dayjs.extend(customParseFormat);
dayjs.extend(utc);
dayjs.extend(timezone);
const app = createApp(App);
app.use(VueQueryPlugin);
function setupPlugins() {
// 安装图标
setupIcons();
// 注册全局常用的ant-design-vue组件
setupAntd(app);
// 引入静态资源
setupAssets();
// 注册全局方法app.config.globalProperties.$message = message
setupGlobalMethods(app);
}
async function setupApp() {
// app.use(Wujie);
// 设置时区为上海
dayjs.tz.setDefault('Asia/Shanghai');
// 通过动态import可生成单独的chunk结合全局替换变量可实现按需加载且不会对代码打包体积造成影响
if (import.meta.env.VITE_MOCK_IN_PROD === 'true') {
// const { setupMock } = await import('../mocks/');
// // 启用 mock
// await setupMock();
}
setupStore(app);
// Multilingual configuration
// Asynchronous case: language files may be obtained from the server side
await setupI18n(app);
// 挂载路由
await setupRouter(app);
app.mount('#app');
}
setupPlugins();
setupApp();