main.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import 'babel-polyfill'
  2. import 'classlist-polyfill'
  3. import Vue from 'vue'
  4. import axios from './router/axios'
  5. import VueAxios from 'vue-axios'
  6. import App from './App'
  7. import './permission' // 权限
  8. import './error' // 日志
  9. import router from './router/router'
  10. import 'avue-plugin-transfer/packages' // 引入avue-plugin-transfer插件
  11. // import 'avue-plugin-ueditor/packages' //引入avue-plugin-ueditor插件(如果要兼容ie自行换掉富文本编辑器,此款插件不兼容ie)
  12. import store from './store'
  13. import { loadStyle } from './util/util'
  14. import * as urls from '@/config/env'
  15. import { iconfontUrl, iconfontVersion } from '@/config/env'
  16. import * as filters from './filters' // 全局filter
  17. import './styles/common.scss'
  18. // // 引入avue的包
  19. import Avue from '@smallwei/avue/lib/index.js'
  20. // // 引入avue的样式文件
  21. import '@smallwei/avue/lib/theme-chalk/index.css'
  22. import basicContainer from './components/basic-container/main'
  23. import VueClipboard from 'vue-clipboard2'
  24. // 插件 json 展示
  25. import vueJsonTreeView from 'vue-json-tree-view'
  26. import { validatenull } from '@/util/validate'
  27. Vue.prototype.validatenull = validatenull
  28. Vue.use(Avue, { menuType: 'text' })
  29. Vue.use(router)
  30. Vue.use(VueClipboard)
  31. Vue.use(vueJsonTreeView)
  32. Vue.use(VueAxios, axios)
  33. // 注册全局容器
  34. Vue.component('basicContainer', basicContainer)
  35. // 加载相关url地址
  36. Object.keys(urls).forEach(key => {
  37. Vue.prototype[key] = urls[key]
  38. })
  39. //加载过滤器
  40. Object.keys(filters).forEach(key => {
  41. Vue.filter(key, filters[key])
  42. })
  43. // 动态加载阿里云字体库
  44. iconfontVersion.forEach(ele => {
  45. loadStyle(iconfontUrl.replace('$key', ele))
  46. })
  47. Vue.config.productionTip = false
  48. new Vue({
  49. router,
  50. store,
  51. render: h => h(App)
  52. }).$mount('#app')