1***@qq.com
1***@qq.com
  • 发布:2019-07-02 09:38
  • 更新:2021-08-22 21:28
  • 阅读:23515

uni-app 的h5 跨域代理无效,怎么解决呀?大佬们

分类:uni-app
2019-07-02 09:38 负责人:无 分享
已邀请:
SimpleJalon

SimpleJalon - 个人承接PHP、uniapp项目,有案例,联系QQ 615773740,不接受外地工作,可付费提供技术支持。添加QQ时务必备注来意以及添加渠道,渠道可以写:`uniapp`

uniapp本地测试跨域应该在 vue.config.js 配置,在项目根目录创建一个 vue.config.js 文件即可。


module.exports = {  
    /* 部署生产环境和开发环境下的URL:可对当前环境进行区分,baseUrl 从 Vue CLI 3.3 起已弃用,要使用publicPath */  
    publicPath: "",  
    assetsDir: "static/lipin",  
    outputDir: "dist",  
    runtimeCompiler: true,  
    productionSourceMap: false,  
    /* webpack-dev-server 相关配置 */  
    devServer: {  
        /* 自动打开浏览器 */  
        open: true,  
        /* 设置为0.0.0.0则所有的地址均能访问 */  
        host: devHost,  
        port: devPort,  
        https: false,  
        hotOnly: false,  
        /* 使用代理 */  
        proxy: {  
            '/': {  
                /* 目标代理服务器地址 */  
                target: proxy.target,  
                /* 允许跨域 */  
                changeOrigin: proxy.changeOrigin,  
            },  
        },  
    },  
}  
  • owocow

    对,这个才是正解

    2020-06-20 07:42

1***@qq.com

1***@qq.com

请注意,各位同学请注意manifest.json里面配置了h5就不要创建vue.config.js,建了vue.config.js就不要manifest.json里面的h5,官方太坑没说,uni坑货

1***@qq.com

1***@qq.com

https://juejin.cn/post/6940572170296754212/,直接看这个,proxy配置完后,记得配置一下自己的baseURL

DCloud_UNI_GSQ

DCloud_UNI_GSQ

跨域问题参考:http://ask.dcloud.net.cn/article/35267
关于代理的设置,可以参考文档:https://uniapp.dcloud.io/collocation/manifest?id=devserver 注意Tips部分

注意:本地开发代理是用来本地测试的,不是用来解决线上跨域问题的。
线上环境的跨域问题请在服务端配置(自行百度学习相关知识)。

  • 1***@163.com

    你好 为什么我在manifest.json中配置了h5的代理 但是只在hbuiderx开发工具中运行的时候有效果可以解决跨域,部署到我自己的服务器上运行就报错404;

    代码:

    "devServer" : {

    "https" : false,

    "port": 80,

    "disableHostCheck": true,

    "proxy" : {

    "/api" : {

    "target" : "http://xxxx:80", //请求的目标域名

    "changeOrigin" : true, //是否跨域

    "secure" : false, // 设置支持https协议的代理

    "pathRewrite": {

    "^/api": ""

    }

    }

    }

    },

    2019-12-13 16:42

  • zyh_fz

    回复 1***@163.com: 请问你解决了吗?我也遇到了同样的问题

    2020-01-20 18:41

  • 1***@qq.com

    回复 zyh_fz: 请问问题解决了吗

    2020-04-10 14:56

  • 8***@163.com

    回复 1***@163.com: 请问大牛,您的问题解决了吗?

    2020-04-27 10:46

  • 8***@163.com

    回复 zyh_fz: 请问您的问题解决了吗?

    2020-04-27 10:47

  • q***@163.com

    回复 1***@163.com: 这里的配置知识开发有效,部署之后跨域就不是这个可以解决的

    2020-08-25 09:48

  • 3***@qq.com

    让后端配一下ng反向代理

    2022-02-24 15:53

zyh_fz

zyh_fz

同样的问题,请问解决了吗?

9***@qq.com

9***@qq.com

同样的问题 如何呢解决的呢

l***@163.com

l***@163.com

记得控制台要先关闭,再开启 重新部署本地服务器

  • 1***@qq.com

    不行啊

    2020-04-10 14:52

  • l***@163.com

    回复 1***@qq.com: 我使用的是axios,baseURL设置 baseURL: process.env.NODE_ENV ==='development' ?"/testApi" : "http://test.testabc.com.cn", manifest.json和楼主格式一样的

    2020-06-11 10:46

DCloud_UNI_GSQ

DCloud_UNI_GSQ

注意:本地开发代理是用来本地测试的,不是用来解决线上跨域问题的。
线上环境的跨域问题请在服务端配置(自行百度学习相关知识)。

  • 1***@qq.com

    你再这装逼,啥也不会啥也不是???uniapp h5只能本地做代理,上线没法做代理,周能后台设置请求头,都没人搭理你你没发现

    2020-08-24 19:18

  • 深海智行

    回复 1***@qq.com: 哈哈哈,牛逼,直接喷官方,学习了,手持键盘,所向披靡

    2020-08-24 19:59

  • 二柱子

    flutter大法好,退u爆屏安

    2020-08-24 20:14

  • leonLi

    官方不是机器人吗,机器人也会装逼了?

    2020-08-24 20:34

w***@alltosun.com

w***@alltosun.com

终于配置生效了,记得关闭控制台重启(不行重启开发者工具),manifest.json 没有配置 vue.config.js
"h5": {
"devServer": {
"disableHostCheck": true,
"proxy": {
"/": {
"target": "http://192.168.9.126:5000/",
"changeOrigin": true,
"pathRewrite": {
"^/h5api": "/"
}
}
}
}
},

  • y***@qq.com

    这位大哥是对的,我重启了开发工具,问题也解决了,感谢大哥

    2022-11-24 22:34

2jd99

2jd99

h5和app打包,根据环境路径自己判断一下吗?app有没有这样配置呢,一套代码不用判断的?

成都H5

成都H5

同问问题

该问题目前已经被锁定, 无法添加新回复