Vue-cli proxyTable解决开发环境的跨域问题


和后端联调时总是会面对恼人的跨域问题,
如果是使用vue-cli生成的开发环境,直接在config/index.js中,把proxytable里面配置成差不多这样,后面的api就都会走target

changeOrigin参数,接收一个布尔值,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,当然这只适用于开发环境。

反向代理

proxyTable: { '/api': {//这里是我配置的名字
    target: 'http://xxx', //这个路径是我代理到本地tp框架里面
     changeOrigin: true, //开启代理
     pathRewrite: { '^/api': '/api' } //这里重写路径/run就代理到对应地址

  }
}

当然,此时的api接口形式应该为/api/xxx,

补充回答:config中配置:

proxyTable: { '/api': { target: 'http://picup.xxxx.net', changeOrigin: true, pathRewrite: { '^/api': '' } } }

请求:

 
get('/api/1/picture?method=upload')

 

https://vuejs-templates.github.io/webpack/proxy.html

 

vue-cli的这个设置来自于其使用的插件http-proxy-middleware
github:https://github.com/chimurai/http-proxy-middleware
深入了解的话可以看该插件配置说明,似乎还支持websocket,很强大的插件。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM