main.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { createApp } from "vue";
  2. import App from "./App.vue";
  3. import router from "@/router";
  4. import { setupStore } from "@/store";
  5. import { setupDirective } from "@/directive";
  6. import { setupElIcons, setupI18n, setupPermission } from "@/plugins";
  7. import Loading from "./components/FullLoading/index";
  8. import print from "vue3-print-nb";
  9. // 本地SVG图标
  10. import "virtual:svg-icons-register";
  11. // 样式
  12. import "element-plus/theme-chalk/dark/css-vars.css";
  13. import "@/styles/index.scss";
  14. import "uno.css";
  15. import "animate.css";
  16. // avue
  17. import { setupEleAvue } from "@/plugins";
  18. const app = createApp(App);
  19. type Lod = {
  20. show: () => void;
  21. hide: () => void;
  22. isShow: boolean;
  23. };
  24. declare module "@vue/runtime-core" {
  25. export interface ComponentCustomProperties {
  26. $loading: Lod;
  27. }
  28. }
  29. // 全局注册 自定义指令(directive)
  30. setupDirective(app);
  31. // 全局注册 状态管理(store)
  32. setupStore(app);
  33. // 全局注册Element-plus图标
  34. setupElIcons(app);
  35. // 国际化
  36. setupI18n(app);
  37. // 注册动态路由
  38. setupPermission();
  39. setupEleAvue(app);
  40. app.use(Loading).use(print).use(router).mount("#app");
  41. console.log(222);