关于axios的全局配置

  • Post author:
  • Post category:其他



一:安装axios



-g:

表示全局安装

npm i axios -g


二:引入、配置axios (vue2)

需要在

man.js

入口文件中,通过

Vue 构造函数



Prototype 原型对象

全局配置 axios

import Vue from 'vue'
import App from './App.vue'

// 1: 导入 axios
import axios from 'axios'

// 2: 配置请求根路径
axios.defaults.baseURL = '接口地址'

// 3: 通过Vue 构造函数的原型对象,全局配置 axios
Vue.prototype.$http = axios

new Vue({
  render: (h) => h(App),
}).$mount("#app");


三:通过axios请求拦截器添加token,保证拥有获取数据的权限

// axios 请求拦截
axios.interceptors.request.use(config => {
  console.log(config);
// 为请求头对象,添加 ToKen 验证的 Authorization 字段
  config.headers.Authorization = window.sessionStorage.getItem('token')
  // 必须 return 
  return config
})


四:响应拦截器

axios.intercoptors.response.user(response => {
// 调用 Loading 实例的 close 方法即可关闭 loading 效果
loadingInstance()
return response
})

五:路由导航守卫

设置从 /login页面 跳转到哪个页面

const router = new VueRouter({
  routes,
});

//挂载路由导航守卫
router.beforeEach((to, from, next) => {
  // to 代表将要访问的路径
  // from表示从哪个路径跳转过来的
  // next表示放行 next('/login)强制跳转到login页面

  // 如果用户访问登录页login 不需要拦截直接next放行
  if (to.path === "/login") return next();
  // 获取保存在sessionStorage的token
  const tokenStr = window.sessionStorage.getItem("token");
  // 如果用户控制页面删除了token,则强制跳转到登录页login
  if (!tokenStr) return next("/login");
  // 反之则放行
  next();
});
export def



版权声明:本文为gsx257318原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。