diff --git a/src/main.js b/src/main.js index 21ec17be..eb22f5c4 100644 --- a/src/main.js +++ b/src/main.js @@ -1,40 +1,33 @@ +// polyfill import 'babel-polyfill' +// Vue import Vue from 'vue' import App from './App' -import 'flex.css' -import ElementUI from 'element-ui' -import 'element-ui/lib/theme-chalk/index.css' +// store +import store from '@/store/index' +// 模拟数据 +import '@/mock' +// 图表 import VCharts from 'v-charts' +// 右键菜单 import contentmenu from 'v-contextmenu' import 'v-contextmenu/dist/index.css' +// JSON 树状视图 import vueJsonTreeView from 'vue-json-tree-view' +// 多国语 import i18n from './i18n' -import store from '@/store/index' -import '@/assets/svg-icons' -import '@/components' -import '@/mock' -import '@/plugin/axios' -import pluginLog from '@/plugin/log' -import pluginOpen from '@/plugin/open' -import pluginD2Admin from '@/plugin/d2admin' -import pluginError from '@/plugin/error' -import pluginImport from '@/plugin/import' -import pluginExport from '@/plugin/export' - +// 核心插件 +import d2Admin from '@/plugin/d2admin' // 菜单和路由设置 import router from './router' import { menuHeader, menuAside } from '@/menu' import { frameInRoutes } from '@/router/routes' -Vue.use(ElementUI) +// 核心插件 +Vue.use(d2Admin) +// 可选第三方插件 Vue.use(VCharts) Vue.use(contentmenu) -Vue.use(pluginLog) -Vue.use(pluginOpen) -Vue.use(pluginD2Admin) -Vue.use(pluginError) -Vue.use(pluginImport) -Vue.use(pluginExport) Vue.use(vueJsonTreeView) new Vue({ diff --git a/src/plugin/axios/index.js b/src/plugin/axios/index.js index d2e137db..d3ad02df 100644 --- a/src/plugin/axios/index.js +++ b/src/plugin/axios/index.js @@ -1,4 +1,3 @@ -import Vue from 'vue' import axios from 'axios' axios.interceptors.response.use(res => { @@ -7,4 +6,8 @@ axios.interceptors.response.use(res => { return Promise.reject(err) }) -Vue.prototype.$axios = axios +export default { + install (Vue, options) { + Vue.prototype.$axios = axios + } +} diff --git a/src/plugin/d2admin/index.js b/src/plugin/d2admin/index.js index 6dec3302..5bdd150d 100644 --- a/src/plugin/d2admin/index.js +++ b/src/plugin/d2admin/index.js @@ -1,5 +1,31 @@ +// Element +import ElementUI from 'element-ui' +import 'element-ui/lib/theme-chalk/index.css' +// flex 布局库 +import 'flex.css' +// 组件 +import '@/components' +// svg 图标 +import '@/assets/svg-icons' +// 功能插件 +import pluginAxios from '@/plugin/axios' +import pluginLog from '@/plugin/log' +import pluginOpen from '@/plugin/open' +import pluginError from '@/plugin/error' +import pluginImport from '@/plugin/import' +import pluginExport from '@/plugin/export' + export default { install (Vue, options) { + // Element + Vue.use(ElementUI) + // 插件 + Vue.use(pluginLog) + Vue.use(pluginOpen) + Vue.use(pluginAxios) + Vue.use(pluginError) + Vue.use(pluginImport) + Vue.use(pluginExport) // 设置为 false 以阻止 vue 在启动时生成生产提示。 // https://cn.vuejs.org/v2/api/#productionTip Vue.config.productionTip = false