main.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import Vue from 'vue'
  2. import App from '@/App'
  3. import router from '@/router' // api: https://github.com/vuejs/vue-router
  4. import store from '@/store' // api: https://github.com/vuejs/vuex
  5. import VueCookie from 'vue-cookie' // api: https://github.com/alfhen/vue-cookie
  6. import '@/element-ui' // api: https://github.com/ElemeFE/element
  7. import '@/icons' // api: http://www.iconfont.cn/
  8. import '@/element-ui-theme'
  9. import '@/assets/scss/index.scss'
  10. import httpRequest from '@/utils/httpRequest' // api: https://github.com/axios/axios
  11. import { isAuth } from '@/utils'
  12. import { timeFormat } from '@/utils/formatDate.js'
  13. import cloneDeep from 'lodash/cloneDeep'
  14. import { VueJsonp } from 'vue-jsonp'
  15. Vue.use(VueCookie)
  16. Vue.use(VueJsonp)
  17. Vue.filter('timeFormat', timeFormat)
  18. Vue.config.productionTip = false
  19. // 非生产环境, 适配mockjs模拟数据 // api: https://github.com/nuysoft/Mock
  20. if (process.env.NODE_ENV !== 'production') {
  21. require('@/mock')
  22. }
  23. // 挂载全局
  24. Vue.prototype.$http = httpRequest // ajax请求方法
  25. Vue.prototype.isAuth = isAuth // 权限方法
  26. // 保存整站vuex本地储存初始状态
  27. window.SITE_CONFIG['storeState'] = cloneDeep(store.state)
  28. /* eslint-disable no-new */
  29. new Vue({
  30. el: '#app',
  31. router,
  32. store,
  33. template: '<App/>',
  34. components: { App }
  35. })