main.js
import App from './App.vue'
import Vue from 'vue'
import router from './router/'
import components from './components/header.js' //加载公共组件
import store from './store/'
Object.keys(components).forEach((key) => {
var name = key.replace(/(\w)/, (v) => v.toUpperCase()) //首字母大写
Vue.component(`v${name}`, components[key])
})
router.beforeEach(({ meta, path }, from, next) => {
var { auth = true } = meta
var isLogin = Boolean(store.state.user.id) //true用户已登录, false用户未登录
if (auth && !isLogin && path !== '/login') {
return next({ path: '/login' })
}
next()
})
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')import App from './App.vue