Vue + Element UI 实现权限管理系统 前端篇(三):工具模块封装
封装 axios 模块 封装背景 使用axios发起一个请求是比较简单的事情,但是axios没有进行封装复用,项目越来越大,会引起越来越多的代码冗余,让代码变得越来越难维护。所以我们在这里先对 axios 进行二次封装,使项目中各个组件能够复用请求,让代码变得更容易维护。 封装要点 统一 url 配置 统一 api 请求 request (请求) 拦截器,例如:带上token等,设置请求头 response (响应) 拦截器,例如:统一错误处理,页面重定向等 根据需要,结合 Vuex 做全局的 loading 动画,或者错误处理 将 axios 封装成 Vue 插件使用 文件结构 在 src 目录下,新建一个 http 文件夹,用来存放 http 交互 api 代码。 config.js: axios 默认配置,包含基础路径等信息。 axios.js: 二次封装 axios 模块,包含拦截器等信息。 interface.js :请求接口汇总模块,聚合模块 API。 index.js: 将 axios 封装成插件,按插件方式引入。 config.js export default { method: 'get' , // 基础url前缀 baseURL: 'http://localhost:8080/' , // 请求头信息 headers: { 'Content-Type':