main.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Vue from 'vue';
  2. import axios from './router/axios';
  3. import VueAxios from 'vue-axios';
  4. import App from './App';
  5. import router from './router/router';
  6. import './permission'; // 权限
  7. import './error'; // 日志
  8. import './cache';//页面缓存
  9. import store from './store';
  10. import {loadStyle} from './util/util'
  11. import * as urls from '@/config/env';
  12. import Element from 'element-ui';
  13. import {
  14. iconfontUrl,
  15. iconfontVersion
  16. } from '@/config/env';
  17. import i18n from './lang' // Internationalization
  18. import './styles/common.scss';
  19. import basicBlock from './components/basic-block/main'
  20. import basicContainer from './components/basic-container/main'
  21. Vue.use(router)
  22. Vue.use(VueAxios, axios)
  23. Vue.use(Element, {
  24. i18n: (key, value) => i18n.t(key, value)
  25. })
  26. Vue.use(window.AVUE, {
  27. i18n: (key, value) => i18n.t(key, value)
  28. })
  29. //注册全局容器
  30. Vue.component('basicContainer', basicContainer)
  31. Vue.component('basicBlock', basicBlock)
  32. // 加载相关url地址
  33. Object.keys(urls).forEach(key => {
  34. Vue.prototype[key] = urls[key];
  35. })
  36. // 动态加载阿里云字体库
  37. iconfontVersion.forEach(ele => {
  38. loadStyle(iconfontUrl.replace('$key', ele));
  39. })
  40. Vue.config.productionTip = false;
  41. new Vue({
  42. router,
  43. store,
  44. i18n,
  45. render: h => h(App)
  46. }).$mount('#app')