main.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import Vue from 'vue'
  2. import Cookies from 'js-cookie'
  3. import 'normalize.css/normalize.css' // a modern alternative to CSS resets
  4. import Element from 'element-ui'
  5. import './styles/element-variables.scss'
  6. import enLang from 'element-ui/lib/locale/lang/en'// 如果使用中文语言包请默认支持,无需额外引入,请删除该依赖
  7. import '@/styles/index.scss' // global css
  8. import App from './App'
  9. import store from './store'
  10. import router from './router'
  11. import './icons' // icon
  12. import './permission' // permission control
  13. import './utils/error-log' // error log
  14. import * as filters from './filters' // global filters
  15. import CKEditor from 'ckeditor4-vue';
  16. Vue.use( CKEditor );
  17. /* 引入Vant */
  18. import Vant from 'vant'
  19. import 'vant/lib/index.css'
  20. Vue.use(Vant)
  21. /**
  22. * If you don't want to use mock-server
  23. * you want to use MockJs for mock api
  24. * you can execute: mockXHR()
  25. *
  26. * Currently MockJs will be used in the production environment,
  27. * please remove it before going online ! ! !
  28. */
  29. if (process.env.NODE_ENV === 'production') {
  30. // const { mockXHR } = require('../mock')
  31. // mockXHR()
  32. }
  33. Vue.use(Element, {
  34. size: Cookies.get('size') || 'medium', // set element-ui default size
  35. // locale: enLang // 如果使用中文,无需设置,请删除
  36. })
  37. // register global utility filters
  38. Object.keys(filters).forEach(key => {
  39. Vue.filter(key, filters[key])
  40. })
  41. Vue.config.productionTip = false
  42. // 组件自动化全局注册
  43. const requireComponent = require.context(
  44. // 其组件目录的相对路径
  45. './components',
  46. // 是否查询其子目录
  47. true,
  48. // 匹配基础组件文件名的正则表达式
  49. /\.vue$/
  50. )
  51. requireComponent.keys().forEach(fileName => {
  52. // 获取组件配置
  53. const componentConfig = requireComponent(fileName)
  54. if(componentConfig.default.name!=undefined){
  55. // 全局注册组件
  56. Vue.component(
  57. componentConfig.default.name, // 此处的name,是组件属性定义的name
  58. // 如果这个组件选项是通过 `export default` 导出的,
  59. // 那么就会优先使用 `.default`,
  60. // 否则回退到使用模块的根。
  61. componentConfig.default
  62. )
  63. }
  64. })
  65. new Vue({
  66. el: '#app',
  67. router,
  68. store,
  69. render: h => h(App)
  70. })