1.以vue-router导航守卫的使用为例:
//main.js
import Vue from 'vue'
import './plugins/axios'
import App from './App.vue'
// import router from './router'
import { router } from './router'
import qs from 'qs'
import './plugins/element.js'
Vue.config.productionTip = false
axios.defaults.baseURL = 'http://localhost:8080/api';
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
Vue.prototype.qs = qs
router.beforeEach((to, from, next) => {
/* 路由发生变化修改页面meta */
if (to.meta.content) {
let head = document.getElementsByTagName('head');
let meta = document.createElement('meta');
meta.content = to.meta.content;
head[0].appendChild(meta)
}
/* 路由发生变化修改页面title */
if (to.meta.title) {
document.title = to.meta.title;
}
next()
})
new Vue({
router,
render: function (h) { return h(App) }
}).$mount('#app')
2.console报错:
Uncaught TypeError: Cannot read property 'beforeEach' of undefined
3.解决方式:
router.js使用export default时,main.js使用import xxx from
router.js使用export 时,main.js使用import {xxx} from
4.参考
ES6 export && export default 差异总结-https://juejin.im/post/5abe3e...