main.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import Vue from 'vue'
  2. import 'xe-utils'
  3. import VXETable from 'vxe-table'
  4. import 'vxe-table/lib/style.css'
  5. import Editor from 'bin-ace-editor';
  6. Vue.use(VXETable)
  7. const jnpf = require('./utils/jnpf').default
  8. import 'normalize.css/normalize.css' // a modern alternative to CSS resets
  9. import Element from 'element-ui'
  10. import './styles/element-variables.scss'
  11. import './assets/scss/common.scss'
  12. import '@/styles/index.scss' // global css
  13. import './assets/scss/theme.scss' // 主题
  14. import VueAwesomeSwiper from 'vue-awesome-swiper'
  15. import 'swiper/css/swiper.css'
  16. Vue.use(VueAwesomeSwiper)
  17. import App from './App'
  18. import store from './store'
  19. import router from './router'
  20. import i18n from './lang' // internationalization
  21. import './permission' // permission control
  22. import './utils/error-log' // error log
  23. import { message } from './utils/message';
  24. import * as filters from './filters' // global filters
  25. // 自定义按钮权限指令
  26. import permission from "@/directive/permission";
  27. Vue.use(permission)
  28. Vue.use(Element, {
  29. size: jnpf.storageGet('size') || 'small', // set element-ui default size
  30. i18n: (key, value) => i18n.t(key, value)
  31. })
  32. // 批量引入组件
  33. import components from './components'
  34. Vue.use(components)
  35. // 添加实例属性
  36. Object.assign(Vue.prototype, {
  37. define: require('./utils/define'), // 常量
  38. jnpf, // 公共方法
  39. formValidate: require('./utils/formValidate').default, // 表单验证
  40. $message: message
  41. })
  42. // 全局注册过滤器
  43. Object.keys(filters).forEach(key => {
  44. Vue.filter(key, filters[key])
  45. })
  46. Vue.config.productionTip = false
  47. // 按需引入需要的语言包皮肤等资源
  48. require('brace/ext/emmet'); // 如果是lang=html时需引入
  49. require('brace/ext/language_tools'); // language extension
  50. require('brace/mode/javascript');
  51. require('brace/snippets/javascript');
  52. require('brace/theme/monokai')
  53. require('brace/theme/solarized_dark')
  54. require('brace/theme/chrome');
  55. // 注册组件后即可使用
  56. Vue.component(Editor.name, Editor);
  57. const vm = new Vue({
  58. el: '#app',
  59. router,
  60. store,
  61. i18n,
  62. render: h => h(App)
  63. })
  64. export default vm