import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import App from './App.vue' import VueRouter from 'vue-router' import routes from './routes' import store from './store/index' import axios from 'axios' import VueAxios from 'vue-axios' // 注册一个全局自定义指令 import hljs from 'highlight.js' import 'highlight.js/styles/googlecode.css' Vue.use(ElementUI); Vue.use(VueRouter); Vue.use(VueAxios, axios); // 公用方法 Vue.prototype.$store = store; // 路由重复点击报错处理 const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } const router = new VueRouter({routes}); // 路由跳转时判断处理 router.beforeEach((to, from, next) => { if (to.name) { document.title = to.name; } next(); }); let vue = new Vue({ el: '#app', router, render(h) { return h(App); } }); Vue.directive('highlight', function (el) { let blocks = el.querySelectorAll('pre code'); blocks.forEach((block) => { hljs.highlightBlock(block); }) }); export default vue;