 
                                        
                                    
                                    - 发布:2019-07-02 09:38
- 更新:2021-08-22 21:28
- 阅读:26434
uni-app 的h5 跨域代理无效,怎么解决呀?大佬们
 
                                                                    
                                                                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,  
            },  
        },  
    },  
}  
 
                                                                    
                                                                1***@qq.com - 1111
请注意,各位同学请注意manifest.json里面配置了h5就不要创建vue.config.js,建了vue.config.js就不要manifest.json里面的h5,官方太坑没说,uni坑货
 
                                                                    
                                                                跨域问题参考:http://ask.dcloud.net.cn/article/35267
关于代理的设置,可以参考文档:https://uniapp.dcloud.io/collocation/manifest?id=devserver 注意Tips部分  
注意:本地开发代理是用来本地测试的,不是用来解决线上跨域问题的。
线上环境的跨域问题请在服务端配置(自行百度学习相关知识)。
- 
                                                  你好 为什么我在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 
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
- 
                                                  
 
                                                                    
                                                                - 
                                                  
- 
                                                  回复 关谷神奇吕子乔: 我使用的是axios,baseURL设置 baseURL: process.env.NODE_ENV ==='development' ?"/testApi" : "http://test.testabc.com.cn", manifest.json和楼主格式一样的 2020-06-11 10:46 
 
             
             
             
			


 
                                                                    

 
                                                                     
                                                                    


 
                                                                    
 
                                                                     
                                                                     
            
owocow
对,这个才是正解
2020-06-20 07:42