vue项目打包做app模拟真机测试 无法请求后台服务接口(axios配置)

vue项目打包做app模拟真机测试 无法请求后台服务接口

背景:本地的测试使用的是反向代理,可以不用管目标地址问题,但是打包成apk测试却不可以,需要使用目标地址,而且在开发的代码中无法实现跨域,打包后是找不到接口的

原本的写法:

//配置http.js文件
import axios from 'axios'

const instance = axios.create({
  timeout: 60000,
  headers: {
    'Content-Type': 'application/json'
  }
})
export default instance

在不同的api.js文件下直接使用上面的instance,例如在userAPI中
userAPI.js,user是JSON对象
这种方法在网页端打包是没有问题的,只需要在nginx 里配置下跨域就可以访问。但是在做app时这样是访问不到数据的,因为不存在跨域的说法,打包成app后实际访问的路径就是 /api/login ,这样会找不到接口,要采用绝对路径的方式,例如:http://192.168.1.111:9001/api/login,这样才能访问,不管你怎样配置管理你的请求api,前面的访问地址这个是必须要的。

现在需要把你自己项目需要访问的目标地址加在api的前面
在这里插入图片描述
但是这样很麻烦,因为你可能会有上百个接口,很多js文件,一个一个添加太麻烦了
这就需要你把你的axios的公共请求头加上你的访问地址

//const baseUrl = '你的访问地址'; // 打包apk
const baseUrl = ''; // 本地测试
const instance = axios.create({
  timeout: 60000,
  headers: {
    'Content-Type': 'application/json'
  }
})
instance.defaults.baseURL = baseUrl;

以后如果是在本地测试,就把打包apk的那一行注释掉,如果要真机测试,就把那一行放开,把下面一行注释掉。
这是暂时想到的方法,有更好的办法再说吧

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祈盼啦啦啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值