vue2.0项目中的代理跨域proxyTable

前端跨域很常见,最近用vue做项目,用webpack中的代理跨域proxyTable解决,非常完美。所以进行总结一下,避免自己遇到类似的问题。

我们先找到项目中的config目录下面的index.js,如下图所示


然后在index.js中写入下面的代码,进行代理处理

module.exports = {
  dev: {
    proxyTable: {
      '/getClubItems': {
        target: 'https://www.exaple.com',  // 接口域名
        secure: false,  // 如果是https接口,需要配置这个参数
        changeOrigin: true,  //是否跨域
        pathRewrite: {
          '^/apis': ''   //需要rewrite的,
        }
      }
    }
}
然后我们最终就会代理到这个地址,我们在本地可以进行访问
https://www.exaple.com

然后我们在使用的时候,可以这样使用

goodsGetFirst: (obj) => {
    return get('/getClubItems', obj)
},
上面的代码是对axios的二次封装,大家可以不用理会。我们在config目录下面的index.js写了
/getClubItems
而我们使用的时候,就是直接用‘/getClubItems/obj’,这里的obj你可以写,你后面需要跟的路径,或者参数,这样我们就再也不用担心跨域的问题了。




Vue 2.0中,通常是通过配置webpack来设置proxyTableProxyTable是一个用于配置请求代理的功能,用于处理在开发过程中,前端请求后端API接口时可能会出现的问题。通过设置proxyTable,可以将前端请求代理到后端的某个路径上。这样就可以实现在开发过程中绕过问题,方便前端开发和调试。 在Vue 2.0的配置文件中,默认的配置是没有proxyTable的选项的。但是我们可以自己手动添加proxyTable,并且配置相应的代理规则。一般来说,我们可以在config文件夹下的index.js文件中找到webpack配置的设置。 在index.js文件中,可以找到`dev`属性,它是用于开发环境的配置。在`dev`属性中加入`proxyTable`属性,并且配置相应的代理规则。例如: ```javascript module.exports = { dev: { proxyTable: { '/api': { target: 'http://localhost:3000', // 目标主机 changeOrigin: true, // 开启代理 pathRewrite: { '^/api': '/mock' // 修改请求路径 } } } } } ``` 上述配置就是将以`/api`开头的请求,代理到`http://localhost:3000`主机下,并且将`/api`替换为`/mock`。这样在开发环境中,前端请求`/api`时就会被代理到`http://localhost:3000/mock`。 需要注意的是,以上配置是适用于Vue CLI的默认配置,如果你使用了其他方式创建Vue项目,可能会有一些差异,具体可以参考对应的配置文件。另外,在生产环境打包时,不建议使用proxyTable,因为打包后的代码会被部署到生产环境中,请求地址应该是指向部署后的后端服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值