main.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { createApp } from 'vue';
  2. import App from '@/App.vue';
  3. import axios from 'axios';
  4. const app = createApp(App);
  5. // 设置 axios 基础 URL
  6. axios.defaults.baseURL = import.meta.env.VITE_API_URL;
  7. // 将 axios 实例添加到 Vue 的全局属性中,使其在所有组件中可通过 this.$axios 访问
  8. app.config.globalProperties.$axios = axios;
  9. //vant
  10. import { Tabbar, TabbarItem } from 'vant';
  11. app.use(Tabbar);
  12. app.use(TabbarItem);
  13. // pinia store
  14. import { createPinia } from 'pinia';
  15. const pinia = createPinia();
  16. app.use(pinia);
  17. import router from '@/router';
  18. app.use(router);
  19. // main app css
  20. import '@/assets/css/app.css';
  21. // perfect scrollbar
  22. import PerfectScrollbar from 'vue3-perfect-scrollbar';
  23. app.use(PerfectScrollbar);
  24. //vue-meta
  25. import { createHead } from '@vueuse/head';
  26. const head = createHead();
  27. app.use(head);
  28. // set default settings
  29. import appSetting from '@/app-setting';
  30. appSetting.init();
  31. //vue-i18n
  32. import i18n from '@/i18n';
  33. app.use(i18n);
  34. // tippy tooltips
  35. import { TippyPlugin } from 'tippy.vue';
  36. app.use(TippyPlugin);
  37. //input mask
  38. import Maska from 'maska';
  39. app.use(Maska);
  40. //markdown editor
  41. import VueEasymde from 'vue3-easymde';
  42. import 'easymde/dist/easymde.min.css';
  43. app.use(VueEasymde);
  44. // popper
  45. import Popper from 'vue3-popper';
  46. app.component('Popper', Popper);
  47. // json to excel
  48. import vue3JsonExcel from 'vue3-json-excel';
  49. app.use(vue3JsonExcel);
  50. /* 引入element-plus */
  51. import ElementPlus from 'element-plus'
  52. import 'element-plus/dist/index.css'
  53. app.use(ElementPlus)
  54. /* 全局引入 */
  55. import './permission'
  56. app.mount('#app');