You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
961 B

  1. import App from "./App.vue";
  2. import router from "./router";
  3. import { setupStore } from "/@/store";
  4. import { getServerConfig } from "./config";
  5. import { createApp, Directive } from "vue";
  6. import { usI18n } from "../src/plugins/i18n";
  7. import { useElementPlus } from "../src/plugins/element-plus";
  8. import { injectResponsiveStorage } from "/@/utils/storage/responsive";
  9. import "animate.css";
  10. // 导入公共样式
  11. import "./style/index.scss";
  12. // 导入字体图标
  13. import "./assets/iconfont/iconfont.js";
  14. import "./assets/iconfont/iconfont.css";
  15. const app = createApp(App);
  16. // 自定义指令
  17. import * as directives from "/@/directives";
  18. Object.keys(directives).forEach(key => {
  19. app.directive(key, (directives as { [key: string]: Directive })[key]);
  20. });
  21. getServerConfig(app).then(async config => {
  22. injectResponsiveStorage(app, config);
  23. setupStore(app);
  24. app.use(router).use(useElementPlus).use(usI18n);
  25. await router.isReady();
  26. app.mount("#app");
  27. });