admin管理员组文章数量:1586702
最近在写一个uniapp项目 但是app无法在谷歌浏览器上运行 运行就报错
后来看了报错信息,是跨域问题,
于是就使用了官方推荐的HBuilderX的内置浏览器,说实话用久了还觉得蛮方便的,主要是我是单屏幕,总是来回切换会十分的不方便,但是我还是十分的想要解决这个跨域问题,好啦,废话不多说,上代码~~~
- 在manifest.json的源码视图里,使用代理服务器的方式
"h5" : {
"router" : {
"mode" : "hash"
},
"devServer" : {
"https" : false,
// "port": 8000, //端口号
// "disableHostCheck": true,
"proxy" : {
"/api" : {
"target" : "http://www.XXX.XXXX.XXXXX666", //这里是你的目标接口域名
"changeOrigin" : true, //是否跨域
"secure" : false, // 设置支持https协议的代理
"pathRewrite" : {
"^/api" : "/"
}
},
"/formalAPI" : {
"target" : "http://www.XXXXX/",
"changeOrigin" : true, //是否跨域
"secure" : false, // 设置支持https协议的代理
"pathRewrite" : {
"^/formalAPI" : "/"
}
}
}
}
}
2.上面我写了两个代理 是因为我有一个测试环境和一个正式环境 我懒得每回改所以就写了两个API代理
因为是封装的requeset请求 所以需要在封装的请求里面写上我们代理的域名
Https.js页面
const process= 'development';
var baseURL = '/api';
if(process === 'development'){
console.log('开发环境/测试环境')
// baseURL = '/api';
}else{
console.log('生产环境/正式环境')
baseURL = '/formalAPI';
}
3.同理如果你在main.js页面设置了全局的baseURL也是一样的
Vue.prototype.baseUrl = '/api';
4.设置完以后要重启整个项目 然后运行到谷歌浏览器啦 跨域问题就解决啦
最后上一张图吧
对了最后再说一下需要注意的地方:
注意:当我使用代理服务器在谷歌浏览器上运行的时候,再使用真机调试,就会报错,无法识别/api,所以最后还是使用了内置的浏览器。
版权声明:本文标题:uniapp在解决谷歌浏览器跨域问题,在谷歌浏览器运行 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726981184a1092832.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论