我们在用 uni-app 进行前端 H5 开发,在本地开发环境需要连接线上接口时,会出现跨域问题。我们可以通过代理的方式来解决。

找到项目根路径下的 manifest.json 文件,对 manifest.json->h5->devServer 进行如下配置:

{
    "h5" : {
        "devServer" : {
            "disableHostCheck" : true,  // 禁用 Host 检查
            "proxy" : { // 代理
                "/open-gateway" : { // 访问路径
                    "target" : "https://dev.abc.com", // 需要代理到的目标服务器
                    "changeOrigin" : true // 代理转发
                },
                "/gateway" : {
                    "target" : "https://test.efg.cn",
                    "changeOrigin" : true
                }
            }
        }
    }
}

通过如上配置,本地请求就会被转发到目标服务器上。如:

注意:跨域问题只存在于 H5 浏览器端,App 和小程序不存在跨域问题。