vue的main,index 基本配置

 main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import './assets/css.css'
import axios from 'axios' // 导包 axios
Vue.config.productionTip = false
axios.defaults.baseURL= 'http://localhost:9090'  // 设置根路径 // 避免跨域
axios.interceptors.request.use( config =>{ // 路由导航
  // console.log(config);
  config.headers.Authorization = window.sessionStorage.getItem('token')
  return config
})
Vue.prototype.$http = axios // 设置全局变量 $http
new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../components/HomeExam.vue'
import Login from '../components/LoginExam.vue'

Vue.use(VueRouter)
const routes = [
  {
    path: '/home', name: 'home', component: Home
  },
  {
   path: '/login', name: 'login',component: Login
  },
  {
    path: '/', redirect:'/login' // redirect 默认跳转 login
  }
]

const router = new VueRouter({
  routes
})
// 挂载路由导航卫士
// to 是将要访问的路径 from 代表从哪个路径跳转而来 next 是放行函数
// 有两种 next() / next('/login')
// 这个是效验是否有token
router.beforeEach((to,from,next) =>{
  if(to.path === '/login'){
      return next();
  }
 // 获取到 token 是否有token
  const token = window.sessionStorage.getItem('token')
  if (!token) {
    return next('/login') // 如果为空 则返回
  }
  next() // 放行
})
export default router

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值