Vue项目通过Hbuild打包为APP后,静态文件正常显示,但并没有请求到数据的接口。
这是为什么?在打包前在浏览器测试时是能正常显示数据的,而APP中静态文件、布局样式显示正常,所以我把问题定位到了接口通信上。

APP并没有跨域,不存在跨域一说。
我在开发的时候,给项目设置代理来跨域
config下的index.js
比如这个

proxyTable: {
  '/api':{
    target: 'http://XXX/xxx/v3',
    changeOrigin: true,
    pathRewrite: {
      '^/api': ''
    }
  }
}

在开发时,测试环境是浏览器,这样做是没错的,但在打包后的APP环境就用不上这个跨域了,打包前直接将这个跨域设置注释掉,然后将API请求地址改为绝对地址。例如这样

let SwipeImg = () => axios({
  // url: 'api/basic/advert/lists',
  url: 'http://xxx.xxx.xx.xx/api/v3/basic/advert/lists',
  params: {
    auth_key: key
  }
})

改好之后在通过Hbuild打包后,APP数据就显示正常了

Logo

前往低代码交流专区

更多推荐