在vue.config.js中配置
proxy: {
'/api': {
target: 'http://localhost:8080',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
target:接口域名;
changeOrigin: 如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求;
pathRewrite:如果接口中是没有api的,那就直接置空(如上)。如果接口中有api,就需要写成{‘^/api’:‘/api’}
问题:vue前端使用proxy处理跨域问题,在开发环境可以正常调用。但是在生产环境调用接口报405.
注意:
proxy只是解决了开发环境的跨域,线上依然会产生跨域的问题。上线时需要配置nginx!
location ^~ /prod-api/ {
rewrite ^/prod-api/(.*)$ /$1 break; # 重写路径将 api 替换为空
proxy_pass http://jxkmall.com:8800/;
}