main.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { createApp } from 'vue';
  2. // global css
  3. import 'virtual:uno.css';
  4. import 'element-plus/theme-chalk/dark/css-vars.css';
  5. import '@/assets/styles/index.scss';
  6. // App、router、store
  7. import App from './App.vue';
  8. import store from './store';
  9. import router from './router';
  10. // 自定义指令
  11. import directive from './directive';
  12. // 注册插件
  13. import plugins from './plugins/index'; // plugins
  14. // 高亮组件
  15. // import 'highlight.js/styles/a11y-light.css';
  16. import 'highlight.js/styles/atom-one-dark.css';
  17. import 'highlight.js/lib/common';
  18. import HighLight from '@highlightjs/vue-plugin';
  19. // svg图标
  20. import 'virtual:svg-icons-register';
  21. import ElementIcons from '@/plugins/svgicon';
  22. // permission control
  23. import './permission';
  24. // 开发者工具保护
  25. // import { initDevToolsProtection } from '@/utils/devtools-protection';
  26. // 国际化
  27. import i18n from '@/lang/index';
  28. // vxeTable
  29. import VXETable from 'vxe-table';
  30. import 'vxe-table/lib/style.css';
  31. VXETable.setConfig({
  32. zIndex: 999999
  33. });
  34. // 修改 el-dialog 默认点击遮照为不关闭
  35. import { ElDialog } from 'element-plus';
  36. ElDialog.props.closeOnClickModal.default = false;
  37. const app = createApp(App);
  38. app.use(HighLight);
  39. app.use(ElementIcons);
  40. app.use(router);
  41. app.use(store);
  42. app.use(i18n);
  43. app.use(VXETable);
  44. app.use(plugins);
  45. // 自定义指令
  46. directive(app);
  47. app.mount('#app');
  48. // 初始化开发者工具保护(仅生产环境)
  49. // initDevToolsProtection();