axios封装+多情况变量(新手一看就会)

代码 代码 1562 人阅读 | 0 人回复

<
那里总结三种变量情况(天生情况,开辟情况,测试情况)


  • 经由过程 npm run serve 启动本地 , 施行 development


  • 经由过程 npm run test 挨包测试 , 施行 testing


  • 经由过程 npm run build 挨包正式 , 施行 production
package.json 设置 普通主动天生两个 逃减一个
  1. "scripts": {
  2.     "serve": "vue-cli-service serve",
  3.     "build": "vue-cli-service build",
  4.     "stage":"vue-cli-service --mode staging"
  5.   },
复造代码
设置介绍
  以 VUE_APP_ 开首的变量,正在代码中能够经由过程 process.env.VUE_APP_ENV(ENV自界说) 会见。
  比如,VUE_APP_ENV = &#39;development&#39; 经由过程process.env.VUE_APP_ENV 会见。
  除 VUE_APP_* 变量以外,正在您的使用代码中一直可用的另有两个特别的变量NODE_ENV 战BASE_URL
正在项目根目次中新建.env.*
214735gsxusoqvw00uwueg.jpg

 以后再src目次下创立config文件夹
214735cx407n4w889m6xds.png

 上三个文件中界说
  1. //那里的***代表途径
  2. module.exports={
  3.     baseURL:"***",// 项目地点
  4.     title: &#39;vue-h5-template&#39;,
  5.     baseApi: &#39;https://test.xxx.com/api&#39;, // 当地api恳求地点
  6.     APPID: &#39;xxx&#39;,
  7.     APPSECRET: &#39;xxx&#39;
  8. }
复造代码
index.js 界说
  1. // 按照情况引进差别设置 process.env.NODE_ENV
  2. const quer = process.env.VUE_APP_ENV
  3. const config = require("./env."+quer) //拼接
  4. module.exports = config
复造代码
 axios启拆

axios中文文档|axios中文网
http://www.axios-js.com/zh-cn/docs/
  1. 下载// npm install axios
复造代码
  留意:正在src目次下创立http文件夹, 正在文件夹中创立index.js文件寄存下圆内乱容 
  1. import axios from &#39;axios&#39;
  2. import {Toast} from "vant" //logding的结果必需下载vant
  3. import {baseURL} from "@/config"
  4. console.log(baseURL);
  5. // 设置axios的基地点【口试题】
  6. // 每次diaoy个接心时皆要写上完好的地点,每一个接心的地点前脸部分是不异的,on
  7. // 接心地点有不异的部门,我们要把不异的部门提掏出设置一下,前面挪用接心便没有需求写不异的部门
  8. // axios.defaults.baseURL="不异的地点"
  9. const service =axios.create({
  10.   baseURL:baseURL,
  11.   timeout:8000,
  12. })
  13. let logding;
  14. // 增加恳求阻拦器----(设置恳求头,通报token)
  15. service.interceptors.request.use(function (config) {
  16.     // 正在收收恳求之前做些甚么
  17.     logding=Toast.loading({
  18.       forbidClick: true,
  19.       message:"减载中...",
  20.     })
  21.     // let token = localStorage.getItem(&#39;user&#39;)?JSON.parse(localStorage.getItem(&#39;user&#39;)).token:""
  22.     // // console.log(token);
  23.     // // 设置   头(英辞意思:头部)   token(英辞意思:受权/承认/核准)
  24.     // config.headers.Authorization = token
  25.     return config;
  26.   }, function (error) {
  27.     // 对恳求毛病做些甚么
  28.     return Promise.reject(error)
  29.   });
  30. // 增加呼应阻拦器---处置共性的毛病同一做处置
  31. service.interceptors.response.use(function (response) {
  32.     // 对呼应数据做面甚么
  33.     logding.clear()
  34.     return response.data
  35.   }, function (error) {
  36.     // 对呼应毛病做面甚么
  37.     return Promise.reject(error)
  38.   });
  39. //   导出
  40. export default service;
复造代码
经由过程main.js 中导出
  1. import axios from &#39;./http/index&#39;
  2. // 把axios挂载到Vue的本型上,如许的话项目中任何一个组件皆可使用了
  3. Vue.prototype.$http = axios
复造代码


免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则