Vue项目打包APP静态资源正常,为何API请求总是无法接通?
- 内容介绍
- 文章标签
- 相关推荐
本文共计530个文字,预计阅读时间需要3分钟。
Vue项目通过Hbuild打包为APP后,静态文件正常显示,但无法像开发时那样请求到数据。这是为什么?
这是因为APP没有跨域,不存在跨域一说。在开发时,JavaScript在不同的域之间进行数据请求时,由于浏览器同源策略的限制,可能会遇到跨域问题。但在打包为APP后,由于APP运行在沙箱环境中,没有跨域的概念,因此不会像开发时那样请求到数据。
总结来说,这是由于APP运行环境与开发环境的不同导致的。在APP中,由于缺乏跨域处理,JavaScript代码无法像在开发环境中那样跨域请求数据。
Vue项目通过Hbuild打包为APP后,静态文件正常显示,但并没有像开发时那样请求到数据。
这是为什么?因为APP并没有跨域,不存在跨域一说。
我们在开发的时候,js在不同的域之间进行数据传输或通信,所以会给项目设置代理来跨域
config下的index.js
比如这个
proxyTable: { '/api':{ target: 'XXX/xxx/v3', changeOrigin: true, pathRewrite: { '^/api': '' } } }
在开发时这样做是没错的,但我们在打包时就不用设置这个跨域了,打包前直接将这个跨域注释掉,然后将API请求地址改为绝对地址。
本文共计530个文字,预计阅读时间需要3分钟。
Vue项目通过Hbuild打包为APP后,静态文件正常显示,但无法像开发时那样请求到数据。这是为什么?
这是因为APP没有跨域,不存在跨域一说。在开发时,JavaScript在不同的域之间进行数据请求时,由于浏览器同源策略的限制,可能会遇到跨域问题。但在打包为APP后,由于APP运行在沙箱环境中,没有跨域的概念,因此不会像开发时那样请求到数据。
总结来说,这是由于APP运行环境与开发环境的不同导致的。在APP中,由于缺乏跨域处理,JavaScript代码无法像在开发环境中那样跨域请求数据。
Vue项目通过Hbuild打包为APP后,静态文件正常显示,但并没有像开发时那样请求到数据。
这是为什么?因为APP并没有跨域,不存在跨域一说。
我们在开发的时候,js在不同的域之间进行数据传输或通信,所以会给项目设置代理来跨域
config下的index.js
比如这个
proxyTable: { '/api':{ target: 'XXX/xxx/v3', changeOrigin: true, pathRewrite: { '^/api': '' } } }
在开发时这样做是没错的,但我们在打包时就不用设置这个跨域了,打包前直接将这个跨域注释掉,然后将API请求地址改为绝对地址。

