如何在vue项目中使用封装后的axios

  介绍

这篇文章给大家介绍如何在vue项目中使用封装后的axios,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

为什么要使用vue

vue是一款友好的,多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强的代码库,vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML, CSS, JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

方法如下

1。vue安装axios

 npm  install  axios  - s
  或者
  npm 小姐:axios  s 

2。在主要。js进行全局引入

 import  axios 得到& # 39;axios& # 39;
  Vue.prototype axios 美元;=,axios //将axios绑定到vue的原型上

3。配置跨域在根目录下vue.config。js里边

 import  axios 得到& # 39;axios& # 39;//这里引用了元素的加载全屏加载
  {import  Loading },得到“element-ui";
  
  const  service =, axios.create ({
  ,baseURL: & # 39;/& # 39;
  ,超时:30000,//,设置请求超时时间
  })
  let  loading =,““//,请求拦截器
  service.interceptors.request.use (
  ,(配置)=祝辞,{//才能,在请求发送之前做一些处理
  if 才能;(! (config.headers[& # 39;内容类型# 39;])),{
  ,,loading =, Loading.service ({
  锁:,,,,真的,
  ,,,:,“加载中…“,
  ,,,转轮:,“el-icon-loading"
  ,,,背景:,“rgba (255255255, 0.7)“,
  ,,,customClass:,“request-loading"
  ,,});
  ,,if  (config.method ==, & # 39;文章# 39;),{
  ,,,config.headers[& # 39;内容类型# 39;],=,,,,& # 39;application/json; charset=utf - 8 # 39;
  ,,,for  (var  key  config.data拷贝),{
  ,,,,if  (config.data(例子),===,& # 39;& # 39;),{
  ,,,,,delete  config.data(例子)
  ,,,,}
  ,,,}
  ,,,config.data =, JSON.stringify (config.data)
  ,,},{else 
  ,,,config.headers[& # 39;内容类型# 39;],=,,,,& # 39;应用程序/x-www-form-urlencoded; charset=utf - 8 # 39;
  ,,,config.data =, JSON.stringify (config.data)
  ,,}
  ,,}
  const 才能;token =,“token"//,才能让每个请求携带令牌,,(& # 39;X-Token& # 39;]为自定义key 请根据实际情况自行修改
  if 才能;(令牌),{
  ,,config.headers[& # 39;授权# 39;],=,令牌
  ,,}
  ,return 配置
  },
  ,(错误)=祝辞,{
  loading.close才能();//,才能发送失败
  console.log才能(错误)
  return 才能;Promise.reject(错误)
  ,}
  )//,响应拦截器
  service.interceptors.response.use (
  ,(响应)=祝辞,{
  
  loading.close才能();//才能,dataAxios 是,axios 返回数据中的,数据//才能,loadingInstance.close ();
  const 才能;dataAxios =response.data//才能,这个状态码是和后端约定的
  
  return  dataAxios才能
  },
  ,(错误)=祝辞,{
  return 才能;Promise.reject(错误)
  ,}
  )
  
  export  default 服务

5。在api文件夹下创建http文件

,//,引入封装好的axios   ,//ps:如果没有封装,正常引入axios即可   import  axios 才能得到“。/api";//,/api为配置跨域的路径变量   let 才能;reportUpload=, & # 39;/api/报告/上传# 39;   export 才能const 上传=,(),=祝辞,{   ,,return  axios.get (, reportUpload )   以前,,}

6。在页面中调用接口

//,引入封装好的接口   ,import {,上传},得到“@/api/http.js",,//,调用时使用   ,async 上传(),{   {let 才能;result },=, await  getlist  ();   ,,console.log(结果)   null

如何在vue项目中使用封装后的axios